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