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