pierre
|
92cd9502ef
Merge of revisions 40277
|
6 years ago |
pierre
|
d8b0ded10c
Marge of more trunk fixes into fixes branch.
|
6 years ago |
yury
|
71d9269b25
Merged revision(s) 40585-40586 from trunk:
|
6 years ago |
Jeppe Johansen
|
09a8cafcd7
Restricted MlaCmp>Mlas optimization to only work in ARM mode.
|
8 years ago |
florian
|
4868b83157
* do not generate always debug messages in the arm assembler optimizer
|
8 years ago |
yury
|
3bedccf946
* ARM scheduler need to move register de-allocs located before the instruction. Also preserve order of allocs and de-allocs.
|
8 years ago |
yury
|
fe0e30030f
* In ARM scheduler move all needed additional items with an instruction:
|
8 years ago |
Jonas Maebe
|
38fd0efa3b
* don't conditionalise BL on ARM, because it may have to be converted to
|
9 years ago |
florian
|
73aeea73ed
+ VOpVMov2VOp optimization
|
9 years ago |
florian
|
1266491085
o refactored some peephole optimizer code:
|
9 years ago |
Jeppe Johansen
|
803f402bf8
Fix minor bug in peephole optimizer.
|
9 years ago |
yury
|
432248cbf1
* Removed lot of unused vars.
|
10 years ago |
yury
|
df9d6db398
* Fixed instruction re-scheduler for ARM in case of PIC.
|
10 years ago |
Jeppe Johansen
|
9e5979e8be
Implemented UAL syntax support in the ARM assembler reader. Can be toggled with a field for now, but not implemented yet. Still using pre-UAL syntax for now.
|
10 years ago |
Jeppe Johansen
|
3bc1db9612
Fixed breakage in the ARM peephole optimizer indirectly brought to light by r29189.
|
10 years ago |
Jeppe Johansen
|
d04e988ff1
Make sure optimizer don't generate invalid assembler forms (LDRD and STRD).
|
10 years ago |
Jeppe Johansen
|
d3e91bb60c
Fixed issue #26965. The peephole optimization didn't move a potential register deallocation to after the ldr instruction causing mov's to be removed.
|
10 years ago |
sergei
|
a3c439c60f
- No longer insert BlockStart markers into asmlists. The presence of these markers disrupts peephole optimizations and require additional checks all over the place, causing various workarounds/hacks (like TAsmList.Create_without_marker) to start building up.
|
11 years ago |
masta
|
7e22bd53b6
Changed ARMs StrLdr2StrMov peephole optimizer look further ahead
|
11 years ago |
masta
|
bfa85218fa
Introduce TCpuAsmOptimizer.GetNextInstructionUsingRef
|
11 years ago |
masta
|
d1c5f89976
Make Next an Out-parameter in ARMs GetNextInstructionUsingReg
|
11 years ago |
masta
|
7a0c79de60
Fix for AndLsl2Lsl in ARM Peephole optimizer
|
11 years ago |
masta
|
85d208fea4
Fix ARM LoadScheduler in case of Pre/PostIndexed addressing
|
11 years ago |
Jeppe Johansen
|
857a849173
Added an additional check to the MulAdd2MLA optimization. The operands of the multiplication weren't checked.
|
11 years ago |
Jeppe Johansen
|
a1197460e1
Constrained a number of optimizations and updated reference offsets for ARM Thumb.
|
11 years ago |
florian
|
23c8517418
* applying opXYX2opsXY to ADD makes no sense on thumb-2 (at least as far as I can see)
|
11 years ago |
Jeppe Johansen
|
95589fb1e2
Apply DataMov2Data to MLA and MLS too. Those have over 4 operands.
|
11 years ago |
florian
|
ac85d44899
* do OpCmp2OpS optimization also if after cmp follows an appropriate mov
|
11 years ago |
Jeppe Johansen
|
6861cbcf16
Allow FoldShiftLdrStr for all sizes of LDR/STR, and disable it for references that post/pre increment the base register on Thumb-2 targets.
|
11 years ago |
Jeppe Johansen
|
07b2982e77
Don't do ARM FoldShiftLdrStr peephole optimization if there's an offset in the reference.
|
11 years ago |