florian
|
1266491085
o refactored some peephole optimizer code:
|
пре 9 година |
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.
|
пре 9 година |
yury
|
11a9ff4a43
* Removed unused vars for mipsel compiler.
|
пре 10 година |
yury
|
432248cbf1
* Removed lot of unused vars.
|
пре 10 година |
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 година |