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