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