nickysn
|
1f8a9c708e
* use RegistersInterfere instead of SuperRegistersEqual in TAoptBase.RegInOp and TAoptBase.RegInRef
|
5 年之前 |
nickysn
|
531cc0ab0d
+ introduced TAOptBase.RegistersInterfere (which might not always be equivalent to SuperRegistersEqual)
|
5 年之前 |
nickysn
|
5947adcd7b
+ added a correct implementation of TAOptBase.SuperRegistersEqual for the Z80
|
5 年之前 |
florian
|
872c22842e
* do prefetching correctly
|
5 年之前 |
Jonas Maebe
|
ebd674d40e
* fixed TAOptBase.SkipEntryExitMarker() not initialising out parameter in
|
5 年之前 |
florian
|
7e6eeebdf0
o patch by J. Gareth Moreton, seeks to improve maintainability, safety and efficiency
|
5 年之前 |
florian
|
59d300fc6e
* optimize TAOptBase.SuperRegistersEqual
|
5 年之前 |
florian
|
9230ae5aab
o overhaul-base.patch by J. Gareth Moreton, base for further patches
|
6 年之前 |
florian
|
7f286eb54e
+ define cpudelayslot: set during compiler compilation for CPUs having branch instructions with delay slot (MIPS, SPARC)
|
8 年之前 |
florian
|
f4718c0969
* made nop handling generic for sparc, so it is used by sparc64 as well
|
8 年之前 |
florian
|
b1dff29cbf
* removed unused units
|
8 年之前 |
nickysn
|
9b7a8f0da5
+ take into account the x86 segment register in TAOptBase.RegInRef
|
8 年之前 |
florian
|
bc73d0914e
* TAOptBase.RegInRef compares using SuperRegistersEqual as TAOptBase.RegInOp does for top_reg already
|
8 年之前 |
florian
|
e6cea6622e
* when checking if a register is used by an operand, compare the super registers
|
8 年之前 |
florian
|
b274599a47
* made some assembler optimizer methods class methods
|
9 年之前 |
florian
|
cfd49ec708
+ TAOptBase.SuperRegistersEqual
|
9 年之前 |
florian
|
8b4a392863
* compilation fixed
|
9 年之前 |
florian
|
5aabe71aee
* better throw an internalerror in TAoptBase.RegLoadedWithNewValue instead of trying to make a safe approximation
|
9 年之前 |
florian
|
1266491085
o refactored some peephole optimizer code:
|
9 年之前 |
Jonas Maebe
|
3c7ad95f7d
* simplified RegInInstruction() and fixed range errors
|
11 年之前 |
sergei
|
a5ae26da7e
* Moved SkipEntryExitMarker method from ARM optimizer to the base one, since it is not target-dependent. Now it can be reused by other targets.
|
11 年之前 |
sergei
|
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
|
12 年之前 |
florian
|
ca5078f9cf
+ RegModifiedBetween
|
13 年之前 |
florian
|
0c08ae8553
+ RegUsedBetween
|
13 年之前 |
masta
|
9825fbf554
Support top_shifterop and top_regset for arm in RegInOp
|
13 年之前 |
florian
|
d4c120cb34
* fix comment so it does not confuse lazarus
|
13 年之前 |
florian
|
748694a325
* fixes some issues with reg. allocation information
|
13 年之前 |
florian
|
2a6a4831ea
* basics for generic register usage information
|
13 年之前 |
florian
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
13 年之前 |
florian
|
8278271b4e
* fix RegInInstruction
|
13 年之前 |