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 лет назад |