florian
|
78878f59b1
+ generic TAOptObj.AllocRegBetween
|
7 سال پیش |
florian
|
52510ea933
+ TUsedRegs.Dump
|
7 سال پیش |
florian
|
8315c660f4
* fix JumpTargetOp for sparc64
|
8 سال پیش |
florian
|
7f286eb54e
+ define cpudelayslot: set during compiler compilation for CPUs having branch instructions with delay slot (MIPS, SPARC)
|
8 سال پیش |
florian
|
f4718c0969
* made nop handling generic for sparc, so it is used by sparc64 as well
|
8 سال پیش |
florian
|
b1dff29cbf
* removed unused units
|
8 سال پیش |
florian
|
e3f0b338d4
* SkipLabels moved to aoptutils
|
8 سال پیش |
nickysn
|
c096b1fe6b
* fixed the debug output, generated by -dDEBUG_INSTRUCTIONREGISTERDEPENDENCIES
|
8 سال پیش |
nickysn
|
a9617b623f
+ print info about the registers, in which new values are written (as reported
|
8 سال پیش |
nickysn
|
7ea0429d40
+ added new compiler debug ifdef DEBUG_INSTRUCTIONREGISTERDEPENDENCIES, which
|
8 سال پیش |
florian
|
b274599a47
* made some assembler optimizer methods class methods
|
9 سال پیش |
florian
|
d05222990e
* while updating used register sets, all labels can/must be skipped
|
9 سال پیش |
florian
|
cfd49ec708
+ TAOptBase.SuperRegistersEqual
|
9 سال پیش |
florian
|
3c2dab9878
* i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same
|
9 سال پیش |
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 سال پیش |