florian
|
e3f0b338d4
* SkipLabels moved to aoptutils
|
8 năm trước cách đây |
nickysn
|
c096b1fe6b
* fixed the debug output, generated by -dDEBUG_INSTRUCTIONREGISTERDEPENDENCIES
|
8 năm trước cách đây |
nickysn
|
a9617b623f
+ print info about the registers, in which new values are written (as reported
|
8 năm trước cách đây |
nickysn
|
7ea0429d40
+ added new compiler debug ifdef DEBUG_INSTRUCTIONREGISTERDEPENDENCIES, which
|
8 năm trước cách đây |
florian
|
b274599a47
* made some assembler optimizer methods class methods
|
9 năm trước cách đây |
florian
|
d05222990e
* while updating used register sets, all labels can/must be skipped
|
9 năm trước cách đây |
florian
|
cfd49ec708
+ TAOptBase.SuperRegistersEqual
|
9 năm trước cách đây |
florian
|
3c2dab9878
* i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same
|
9 năm trước cách đây |
florian
|
1266491085
o refactored some peephole optimizer code:
|
9 năm trước cách đây |
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.
|
10 năm trước cách đây |
yury
|
11a9ff4a43
* Removed unused vars for mipsel compiler.
|
10 năm trước cách đây |
yury
|
432248cbf1
* Removed lot of unused vars.
|
10 năm trước cách đây |
Jonas Maebe
|
8c8657e2d5
* base optimiser support for the JVM target
|
10 năm trước cách đây |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
10 năm trước cách đây |
florian
|
1114089d25
* IsJumpToLabel checks number of operands
|
10 năm trước cách đây |
Jonas Maebe
|
620af1732a
* support for AArch64 branch forwarding
|
10 năm trước cách đây |
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.
|
11 năm trước cách đây |
florian
|
8060d4a3f7
* when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
|
11 năm trước cách đây |
masta
|
81517fdf70
Rerun peephole optimizers on the whole block
|
11 năm trước cách đây |
florian
|
0eeb3e8d49
* check if the pointer is really assigned when trying to remove unneeded jumps
|
12 năm trước cách đây |
sergei
|
40239e8bcc
* Elaborating removal of branches with delay slots: ignore reg. deallocations that are inserted by RA between branch and its delay slot instruction.
|
12 năm trước cách đây |
florian
|
2806947a8f
+ FindRegAllocBackward
|
12 năm trước cách đây |
sergei
|
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
|
12 năm trước cách đây |
sergei
|
a4217da7df
* Factored repeating code into separate procedure (IsJumpToLabel)
|
12 năm trước cách đây |
florian
|
b6a4602989
* ignore alignment entries in FindLabel
|
13 năm trước cách đây |
florian
|
3e9baa3f47
* check also register type in FindRegalloc
|
13 năm trước cách đây |
florian
|
6e62fbc3d2
* more consistent updates of used registers
|
13 năm trước cách đây |
florian
|
07e26cfb12
+ TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update
|
13 năm trước cách đây |
Jonas Maebe
|
d472a6d5d0
* changed tregset into tcpuregisterset so it's faster and uses less memory
|
13 năm trước cách đây |
florian
|
72746e635d
* optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist
|
13 năm trước cách đây |