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