Jonas Maebe
|
8c8657e2d5
* base optimiser support for the JVM target
|
10 роки тому |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
10 роки тому |
florian
|
1114089d25
* IsJumpToLabel checks number of operands
|
10 роки тому |
Jonas Maebe
|
620af1732a
* support for AArch64 branch forwarding
|
10 роки тому |
sergei
|
0041024e5f
* Modified FindRegAlloc() to skip branch delay slots in the same way it is done in GetNextInstruction(). This fixes processing sequences "dealloc reg; branch reg,label; NOP; alloc reg" in BuildLabelTableAndFixRegAlloc(), deallocation is now correctly moved after branch. Before this change, the last allocation was ignored, and deallocation was moved forward until another instruction using reg was encountered.
|
10 роки тому |
florian
|
8060d4a3f7
* when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
|
11 роки тому |
masta
|
81517fdf70
Rerun peephole optimizers on the whole block
|
11 роки тому |
florian
|
0eeb3e8d49
* check if the pointer is really assigned when trying to remove unneeded jumps
|
11 роки тому |
sergei
|
40239e8bcc
* Elaborating removal of branches with delay slots: ignore reg. deallocations that are inserted by RA between branch and its delay slot instruction.
|
11 роки тому |
florian
|
2806947a8f
+ FindRegAllocBackward
|
12 роки тому |
sergei
|
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
|
12 роки тому |
sergei
|
a4217da7df
* Factored repeating code into separate procedure (IsJumpToLabel)
|
12 роки тому |
florian
|
b6a4602989
* ignore alignment entries in FindLabel
|
13 роки тому |
florian
|
3e9baa3f47
* check also register type in FindRegalloc
|
13 роки тому |
florian
|
6e62fbc3d2
* more consistent updates of used registers
|
13 роки тому |
florian
|
07e26cfb12
+ TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update
|
13 роки тому |
Jonas Maebe
|
d472a6d5d0
* changed tregset into tcpuregisterset so it's faster and uses less memory
|
13 роки тому |
florian
|
72746e635d
* optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist
|
13 роки тому |
florian
|
17dd362a5a
* white space
|
13 роки тому |
florian
|
2402e8e504
* fixes FindRegAlloc
|
13 роки тому |
florian
|
748694a325
* fixes some issues with reg. allocation information
|
13 роки тому |
Jonas Maebe
|
7742dc0006
* don't remove ait_markers between unconditional jumps and the next label,
|
13 роки тому |
florian
|
3c33bf4e6d
* completed framework for register usage tracking
|
13 роки тому |
florian
|
2a6a4831ea
* basics for generic register usage information
|
13 роки тому |
florian
|
39ab9eceba
* fix OpsEqual
|
13 роки тому |
florian
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
13 роки тому |
florian
|
4868b09844
* patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
|
14 роки тому |
Jonas Maebe
|
4be36c4b2b
* fixed a number of missing label reference removals when deleting
|
14 роки тому |
Jonas Maebe
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
15 роки тому |
florian
|
c71bc4084d
* fixed wrongly fix of r11444 in r12049
|
16 роки тому |