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