Jeppe Johansen
|
95589fb1e2
Apply DataMov2Data to MLA and MLS too. Those have over 4 operands.
|
vor 11 Jahren |
florian
|
ac85d44899
* do OpCmp2OpS optimization also if after cmp follows an appropriate mov
|
vor 11 Jahren |
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.
|
vor 11 Jahren |
Jeppe Johansen
|
07b2982e77
Don't do ARM FoldShiftLdrStr peephole optimization if there's an offset in the reference.
|
vor 11 Jahren |
masta
|
3f8549365a
Don't schedule LDRD on ARM
|
vor 11 Jahren |
Jeppe Johansen
|
257b1affaa
Fixed previous fix of LsrAnd2Lsr optimization.
|
vor 11 Jahren |
Jeppe Johansen
|
f773334374
Fixed LsrAnd2Lsr peephole optimization for ARM.
|
vor 11 Jahren |
Jeppe Johansen
|
3b4f59c316
Fixed MLA/MLS peephole optimization and moved it to the generic ARM peephole optimizer.
|
vor 11 Jahren |
Jeppe Johansen
|
184baa3f99
Fixed invalid peephole optimization of ADD/SUB(SP) instructions for ARMv7*M targets.
|
vor 11 Jahren |
masta
|
9e0af11ad8
Rerun the peephole optimizer after removing the current instruction.
|
vor 11 Jahren |
masta
|
57ff589ec7
Always set p to the next instruction after removing p from asml.
|
vor 11 Jahren |
masta
|
c644503daf
Add MovLdr2Ldr peephole optimizer for ARM
|
vor 11 Jahren |
masta
|
77d12f61a2
Handle LDRD and STRD correctly in RegInInstruction for ARM
|
vor 11 Jahren |
Jeppe Johansen
|
d24cbbf9f5
Changed debug information to dwarf for ARM_embedded, and set local minimum alignment to 4.
|
vor 11 Jahren |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
vor 11 Jahren |
Jonas Maebe
|
10ae87f11c
* fixed LdrLdr2LdrMov optimisation in case the first and second ldr have
|
vor 12 Jahren |
Jonas Maebe
|
31a3122b91
* fixed LsrAnd2Lsr test by replacing the existing buggy check with comparing
|
vor 12 Jahren |
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.
|
vor 12 Jahren |
florian
|
cb1f38b0af
* strd/ldrd are not supported by thumb
|
vor 12 Jahren |
masta
|
ff95d42216
Fix ShiftShift2Shift 1 ARM-peephole optimizer
|
vor 12 Jahren |
florian
|
d4968e054b
+ arm: tsettings.instructionset
|
vor 12 Jahren |
florian
|
7cef301e84
* disable optimization LdrbAnd2Ldrb for arm thumb as it is currently done
|
vor 12 Jahren |
florian
|
d5ddf39f73
* do not do the RedundantMovProcess optimization when the involved registers are r13 or r15 and if the target is arm thumb(2)
|
vor 12 Jahren |
florian
|
8884f1c0bf
* arm thumb2 supports only left shifted index registers up to 3 bits
|
vor 12 Jahren |
Jonas Maebe
|
8ffb704b8c
* don't split address labels from the instruction they belong with when
|
vor 12 Jahren |
florian
|
2806947a8f
+ FindRegAllocBackward
|
vor 12 Jahren |
Jeppe Johansen
|
fdcc68cfd7
Disabled preindex/postindexed peephole optimizations for Thumb and Thumb2
|
vor 12 Jahren |
Jeppe Johansen
|
f3273fa87d
Optimize Add/Sub+Ldr/Str by using preindexed references
|
vor 12 Jahren |
Jeppe Johansen
|
2d823452b7
The scheduler pass of the ARM optimizer left markers in the instruction list, which could prevent further peephole optimizations
|
vor 12 Jahren |
masta
|
8c32802fcf
Added LdrbAnd2Ldrb Peephole optimizer for arm
|
vor 12 Jahren |