Jonas Maebe
|
8c8657e2d5
* base optimiser support for the JVM target
|
10 vuotta sitten |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
10 vuotta sitten |
florian
|
1114089d25
* IsJumpToLabel checks number of operands
|
10 vuotta sitten |
Jonas Maebe
|
620af1732a
* support for AArch64 branch forwarding
|
10 vuotta sitten |
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 vuotta sitten |
florian
|
8060d4a3f7
* when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
|
11 vuotta sitten |
masta
|
81517fdf70
Rerun peephole optimizers on the whole block
|
11 vuotta sitten |
florian
|
0eeb3e8d49
* check if the pointer is really assigned when trying to remove unneeded jumps
|
11 vuotta sitten |
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 vuotta sitten |
florian
|
2806947a8f
+ FindRegAllocBackward
|
12 vuotta sitten |
sergei
|
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
|
12 vuotta sitten |
sergei
|
a4217da7df
* Factored repeating code into separate procedure (IsJumpToLabel)
|
12 vuotta sitten |
florian
|
b6a4602989
* ignore alignment entries in FindLabel
|
13 vuotta sitten |
florian
|
3e9baa3f47
* check also register type in FindRegalloc
|
13 vuotta sitten |
florian
|
6e62fbc3d2
* more consistent updates of used registers
|
13 vuotta sitten |
florian
|
07e26cfb12
+ TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update
|
13 vuotta sitten |
Jonas Maebe
|
d472a6d5d0
* changed tregset into tcpuregisterset so it's faster and uses less memory
|
13 vuotta sitten |
florian
|
72746e635d
* optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist
|
13 vuotta sitten |
florian
|
17dd362a5a
* white space
|
13 vuotta sitten |
florian
|
2402e8e504
* fixes FindRegAlloc
|
13 vuotta sitten |
florian
|
748694a325
* fixes some issues with reg. allocation information
|
13 vuotta sitten |
Jonas Maebe
|
7742dc0006
* don't remove ait_markers between unconditional jumps and the next label,
|
13 vuotta sitten |
florian
|
3c33bf4e6d
* completed framework for register usage tracking
|
13 vuotta sitten |
florian
|
2a6a4831ea
* basics for generic register usage information
|
13 vuotta sitten |
florian
|
39ab9eceba
* fix OpsEqual
|
13 vuotta sitten |
florian
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
13 vuotta sitten |
florian
|
4868b09844
* patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
|
14 vuotta sitten |
Jonas Maebe
|
4be36c4b2b
* fixed a number of missing label reference removals when deleting
|
14 vuotta sitten |
Jonas Maebe
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
15 vuotta sitten |
florian
|
c71bc4084d
* fixed wrongly fix of r11444 in r12049
|
16 vuotta sitten |