florian
|
1266491085
o refactored some peephole optimizer code:
|
hace 9 años |
yury
|
5771073e0b
* Fixed general peephole optimization of conditional jumps after r30446. It has been broken, since r30446 had added some IsJumpToLabel() checks, which tests for unconditional jump, but the optimization code expects also conditional jumps.
|
hace 9 años |
yury
|
11a9ff4a43
* Removed unused vars for mipsel compiler.
|
hace 10 años |
yury
|
432248cbf1
* Removed lot of unused vars.
|
hace 10 años |
Jonas Maebe
|
8c8657e2d5
* base optimiser support for the JVM target
|
hace 10 años |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
hace 10 años |
florian
|
1114089d25
* IsJumpToLabel checks number of operands
|
hace 10 años |
Jonas Maebe
|
620af1732a
* support for AArch64 branch forwarding
|
hace 10 años |
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.
|
hace 10 años |
florian
|
8060d4a3f7
* when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
|
hace 11 años |
masta
|
81517fdf70
Rerun peephole optimizers on the whole block
|
hace 11 años |
florian
|
0eeb3e8d49
* check if the pointer is really assigned when trying to remove unneeded jumps
|
hace 11 años |
sergei
|
40239e8bcc
* Elaborating removal of branches with delay slots: ignore reg. deallocations that are inserted by RA between branch and its delay slot instruction.
|
hace 11 años |
florian
|
2806947a8f
+ FindRegAllocBackward
|
hace 12 años |
sergei
|
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
|
hace 12 años |
sergei
|
a4217da7df
* Factored repeating code into separate procedure (IsJumpToLabel)
|
hace 12 años |
florian
|
b6a4602989
* ignore alignment entries in FindLabel
|
hace 13 años |
florian
|
3e9baa3f47
* check also register type in FindRegalloc
|
hace 13 años |
florian
|
6e62fbc3d2
* more consistent updates of used registers
|
hace 13 años |
florian
|
07e26cfb12
+ TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update
|
hace 13 años |
Jonas Maebe
|
d472a6d5d0
* changed tregset into tcpuregisterset so it's faster and uses less memory
|
hace 13 años |
florian
|
72746e635d
* optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist
|
hace 13 años |
florian
|
17dd362a5a
* white space
|
hace 13 años |
florian
|
2402e8e504
* fixes FindRegAlloc
|
hace 13 años |
florian
|
748694a325
* fixes some issues with reg. allocation information
|
hace 13 años |
Jonas Maebe
|
7742dc0006
* don't remove ait_markers between unconditional jumps and the next label,
|
hace 13 años |
florian
|
3c33bf4e6d
* completed framework for register usage tracking
|
hace 13 años |
florian
|
2a6a4831ea
* basics for generic register usage information
|
hace 13 años |
florian
|
39ab9eceba
* fix OpsEqual
|
hace 13 años |
florian
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
hace 13 años |