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