florian
|
7afe762d22
* factored out OptPass2Jcc assembler optimization
|
il y a 8 ans |
florian
|
e3f0b338d4
* SkipLabels moved to aoptutils
|
il y a 8 ans |
florian
|
f985971a62
* apply mov reg1, mem1; cmp x, mem1 to mov reg1, mem1; cmp x, reg1 also for test
|
il y a 8 ans |
nickysn
|
b882ba5fd2
+ also recognize sbb reg,reg as writing a new value in the register in TX86AsmOptimizer.RegLoadedWithNewValue
|
il y a 8 ans |
nickysn
|
0e0e5c0caf
+ support the flags register and its subregisters in TX86AsmOptimizer.RegLoadedWithNewValue
|
il y a 8 ans |
nickysn
|
85fbbec319
+ recognize xor reg,reg (same register twice) and sub reg,reg as writing a new
|
il y a 8 ans |
nickysn
|
aa93259463
+ support the lahf,fstsw and fnstsw instructions in
|
il y a 8 ans |
nickysn
|
92cc447326
+ support the aam instruction in TX86AsmOptimizer.RegLoadedWithNewValue
|
il y a 8 ans |
nickysn
|
2431b1fa19
+ support the lodsb,lodsw,lodsd and lodsq instructions in
|
il y a 8 ans |
nickysn
|
6b7593d7d0
+ support the SETcc instructions in TX86AsmOptimizer.RegLoadedWithNewValue
|
il y a 8 ans |
nickysn
|
e10f184b74
+ support lds,les,lfs,lgs and lss in TX86AsmOptimizer.RegLoadedWithNewValue
|
il y a 8 ans |
nickysn
|
eac74f5a81
+ support the cwd,cdq,cqo and cbw instructions in
|
il y a 8 ans |
nickysn
|
1a139b951d
+ properly support the one operand version of imul and mul in
|
il y a 8 ans |
nickysn
|
65960048c8
* fixed TX86AsmOptimizer.RegLoadedWithNewValue for 3-operand imul, where the
|
il y a 8 ans |
nickysn
|
1f5aec6d3d
+ make use of the Reg1WriteOverwritesReg2Entirely and Reg1ReadDependsOnReg2
|
il y a 8 ans |
nickysn
|
66c350d8d2
* fixed access violation bug in TX86AsmOptimizer.RegLoadedWithNewValue for the
|
il y a 8 ans |
nickysn
|
e6e55b3004
+ added function TX86AsmOptimizer.Reg1ReadDependsOnReg2, which checks whether
|
il y a 8 ans |
nickysn
|
33f9b36a54
+ added and implemented function TX86AsmOptimizer.Reg1WriteOverwritesReg2Entirely,
|
il y a 8 ans |
yury
|
94a65e99f1
* Removed unused var.
|
il y a 8 ans |
florian
|
f68558b88c
* factored out TX86AsmOptimizer.OptPass2Imul
|
il y a 8 ans |
florian
|
ebb2b81f79
* FoldLea optimizes more cases
|
il y a 8 ans |
florian
|
781d6f31a8
* more getsupreg(...)<>/=getsupreg(...) replaced by SuperRegisterEqual which is more safe, the former could break as the register could have different register types
|
il y a 8 ans |
florian
|
cf2a3d8160
+ new debug message
|
il y a 8 ans |
florian
|
fe0ce2f456
* TX86AsmOptimizer.OptPass1MOV should be left, after an optimization has been carried out, instead the outer loop should call it again, resolves issue #30277
|
il y a 8 ans |
florian
|
239c6639d7
+ additional debug message
|
il y a 8 ans |
florian
|
76961dbc70
* fixes MovOpMov2Op
|
il y a 8 ans |
florian
|
8e9f4af801
* fixed checking of operands of MovOpMov2Op
|
il y a 8 ans |
florian
|
4109f88e08
* AllocRegBetween always extends the processed register to the whole super register and takes care of this while removing (de)/allocs
|
il y a 8 ans |
florian
|
57ca8647b3
* better peephole optimization tracing
|
il y a 8 ans |
Jeppe Johansen
|
348c373e9f
Fixed two bugs in the x86 peephole optimizer.
|
il y a 9 ans |