Jeppe Johansen
|
054bf32f1f
Add RV64GC cpu type.
|
7 anni fa |
Jeppe Johansen
|
ceb38833f2
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
|
7 anni fa |
florian
|
5782acc32d
* patch by J. Gareth Moreton to fix 33909
|
7 anni fa |
florian
|
ae950956af
+ TAOptObj.*PeepHoleOpts* check if p is really assigned
|
7 anni fa |
florian
|
78878f59b1
+ generic TAOptObj.AllocRegBetween
|
7 anni fa |
florian
|
52510ea933
+ TUsedRegs.Dump
|
7 anni fa |
florian
|
8315c660f4
* fix JumpTargetOp for sparc64
|
8 anni fa |
florian
|
7f286eb54e
+ define cpudelayslot: set during compiler compilation for CPUs having branch instructions with delay slot (MIPS, SPARC)
|
8 anni fa |
florian
|
f4718c0969
* made nop handling generic for sparc, so it is used by sparc64 as well
|
8 anni fa |
florian
|
b1dff29cbf
* removed unused units
|
8 anni fa |
florian
|
e3f0b338d4
* SkipLabels moved to aoptutils
|
8 anni fa |
nickysn
|
c096b1fe6b
* fixed the debug output, generated by -dDEBUG_INSTRUCTIONREGISTERDEPENDENCIES
|
8 anni fa |
nickysn
|
a9617b623f
+ print info about the registers, in which new values are written (as reported
|
8 anni fa |
nickysn
|
7ea0429d40
+ added new compiler debug ifdef DEBUG_INSTRUCTIONREGISTERDEPENDENCIES, which
|
8 anni fa |
florian
|
b274599a47
* made some assembler optimizer methods class methods
|
9 anni fa |
florian
|
d05222990e
* while updating used register sets, all labels can/must be skipped
|
9 anni fa |
florian
|
cfd49ec708
+ TAOptBase.SuperRegistersEqual
|
9 anni fa |
florian
|
3c2dab9878
* i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same
|
9 anni fa |
florian
|
1266491085
o refactored some peephole optimizer code:
|
9 anni fa |
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 anni fa |
yury
|
11a9ff4a43
* Removed unused vars for mipsel compiler.
|
10 anni fa |
yury
|
432248cbf1
* Removed lot of unused vars.
|
10 anni fa |
Jonas Maebe
|
8c8657e2d5
* base optimiser support for the JVM target
|
10 anni fa |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
10 anni fa |
florian
|
1114089d25
* IsJumpToLabel checks number of operands
|
10 anni fa |
Jonas Maebe
|
620af1732a
* support for AArch64 branch forwarding
|
10 anni fa |
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 anni fa |
florian
|
8060d4a3f7
* when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
|
11 anni fa |
masta
|
81517fdf70
Rerun peephole optimizers on the whole block
|
11 anni fa |
florian
|
0eeb3e8d49
* check if the pointer is really assigned when trying to remove unneeded jumps
|
12 anni fa |