florian
|
935985d0c0
* checked and updated valid opcode for OpCmp2OpS optimization
|
13 years ago |
florian
|
70009e8ed1
* move flag allocation item
|
13 years ago |
florian
|
2d2c66467c
+ optimize op ... / cmp .... when possible
|
13 years ago |
florian
|
a92ca7c456
* adjust the reg. allocations of the target register in RemoveSuperfluousMove
|
13 years ago |
florian
|
3d7b603d11
* get rid or move the allocation of the replaced register if possible
|
13 years ago |
florian
|
77e579f59f
* RemoveSuperfluousMove uses FindRegDeAlloc to find out if the register used in the move can be removed
|
13 years ago |
florian
|
5fd457e586
* when determining of a register is used after an instruction, new allocs should not be taken into account
|
13 years ago |
florian
|
c0425c48fd
* make use of GetNextInstructionUsingReg
|
13 years ago |
florian
|
f3f5be2af1
* RemoveSuperfluousMove should not mess with moves targetting lr or pc
|
13 years ago |
florian
|
93eb20d407
+ GetNextInstructionUsingReg
|
13 years ago |
florian
|
2a14394cf5
* cleaned up scheduler code, created own scheduler class to avoid unneeded passes through the assembler
|
13 years ago |
florian
|
a3bf956c33
* improved main loop of TCpuPreRegallocScheduler.PeepHoleOptPass1Cpu
|
13 years ago |
florian
|
54e2b40ab4
* revert the parameter type change of the last commit, it was an overleft from a failed fix attempt
|
13 years ago |
florian
|
45eafd3e65
* fix MovMov optimization if the second mov is a mov rX,rX
|
13 years ago |
florian
|
4b4e08c28b
* fixes copy&paste errors when moving end of live pointers
|
13 years ago |
florian
|
53a0d3e3a3
* fixed typo when checking live start of references
|
13 years ago |
florian
|
a693fe9fb7
+ implemented TCpuPreRegallocScheduler.SwapRegLive and make use of it to be able to reschedule instructions before register allocation
|
13 years ago |
florian
|
354cac2bb6
+ completed arm architectures
|
13 years ago |
florian
|
7588896775
* make use of cpuflags in the arm compiler
|
13 years ago |
florian
|
371ef7bada
* cover more cases in AlignedToQWord
|
13 years ago |
florian
|
db7e029574
* strd/ldrd optimization might be only done on dword operations
|
13 years ago |
florian
|
8c45a909be
+ support ldr/ldr -> ldrd and str/str -> strd optimization where appliable
|
13 years ago |
masta
|
9e039936bf
Support more operators in FoldShiftProcess on ARM
|
13 years ago |
florian
|
023d632f44
* optimize also lsr/asr, lsl, lsr/asr sequences on arm
|
13 years ago |
florian
|
c8435b503f
* better folding of consecutive shift operations
|
13 years ago |
masta
|
be6bf6e3f7
Fix possible access violation introduces in r21885
|
13 years ago |
florian
|
701a5d76bb
* remove unneeded movs
|
13 years ago |
masta
|
5498456269
Add LsrAndLsr Peephole Optimizer for ARM
|
13 years ago |
florian
|
64ac48c815
* patch by Nico Erfurth: Better support for PLD on ARM
|
13 years ago |
florian
|
3db61ae52d
* patch by Nico Erfurth: Reworked regLoadedWithNewValue
|
13 years ago |