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.
|
hace 10 años |
florian
|
8060d4a3f7
* when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored
|
hace 11 años |
masta
|
81517fdf70
Rerun peephole optimizers on the whole block
|
hace 11 años |
florian
|
0eeb3e8d49
* check if the pointer is really assigned when trying to remove unneeded jumps
|
hace 11 años |
sergei
|
40239e8bcc
* Elaborating removal of branches with delay slots: ignore reg. deallocations that are inserted by RA between branch and its delay slot instruction.
|
hace 11 años |
florian
|
2806947a8f
+ FindRegAllocBackward
|
hace 12 años |
sergei
|
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
|
hace 12 años |
sergei
|
a4217da7df
* Factored repeating code into separate procedure (IsJumpToLabel)
|
hace 12 años |
florian
|
b6a4602989
* ignore alignment entries in FindLabel
|
hace 13 años |
florian
|
3e9baa3f47
* check also register type in FindRegalloc
|
hace 13 años |
florian
|
6e62fbc3d2
* more consistent updates of used registers
|
hace 13 años |
florian
|
07e26cfb12
+ TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update
|
hace 13 años |
Jonas Maebe
|
d472a6d5d0
* changed tregset into tcpuregisterset so it's faster and uses less memory
|
hace 13 años |
florian
|
72746e635d
* optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist
|
hace 13 años |
florian
|
17dd362a5a
* white space
|
hace 13 años |
florian
|
2402e8e504
* fixes FindRegAlloc
|
hace 13 años |
florian
|
748694a325
* fixes some issues with reg. allocation information
|
hace 13 años |
Jonas Maebe
|
7742dc0006
* don't remove ait_markers between unconditional jumps and the next label,
|
hace 13 años |
florian
|
3c33bf4e6d
* completed framework for register usage tracking
|
hace 13 años |
florian
|
2a6a4831ea
* basics for generic register usage information
|
hace 13 años |
florian
|
39ab9eceba
* fix OpsEqual
|
hace 13 años |
florian
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
hace 13 años |
florian
|
4868b09844
* patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
|
hace 14 años |
Jonas Maebe
|
4be36c4b2b
* fixed a number of missing label reference removals when deleting
|
hace 14 años |
Jonas Maebe
|
666b4e2469
* fixed range errors in label bookkeeping that caused too much memory to be
|
hace 15 años |
florian
|
c71bc4084d
* fixed wrongly fix of r11444 in r12049
|
hace 16 años |
florian
|
74efea399e
* fix getlabelwithsym for 64 bit hosts and 32 bit targets
|
hace 16 años |
yury
|
bf454fad71
* Added function result for unimplemented methods to prevent warnings.
|
hace 17 años |
yury
|
451a290caf
* Fixed 'mixed signed/unsigned' and pointer conversion warnings.
|
hace 17 años |
yury
|
491f0fa1d8
* Replaced all user defined warnings by TODO comments to reduce compiler noise.
|
hace 17 años |