Commit History

Autor SHA1 Mensaxe Data
  florian 1266491085 o refactored some peephole optimizer code: %!s(int64=9) %!d(string=hai) anos
  Jeppe Johansen 803f402bf8 Fix minor bug in peephole optimizer. %!s(int64=9) %!d(string=hai) anos
  yury 432248cbf1 * Removed lot of unused vars. %!s(int64=10) %!d(string=hai) anos
  yury df9d6db398 * Fixed instruction re-scheduler for ARM in case of PIC. %!s(int64=10) %!d(string=hai) anos
  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. %!s(int64=10) %!d(string=hai) anos
  Jeppe Johansen 3bc1db9612 Fixed breakage in the ARM peephole optimizer indirectly brought to light by r29189. %!s(int64=10) %!d(string=hai) anos
  Jeppe Johansen d04e988ff1 Make sure optimizer don't generate invalid assembler forms (LDRD and STRD). %!s(int64=10) %!d(string=hai) anos
  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. %!s(int64=10) %!d(string=hai) anos
  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. %!s(int64=11) %!d(string=hai) anos
  masta 7e22bd53b6 Changed ARMs StrLdr2StrMov peephole optimizer look further ahead %!s(int64=11) %!d(string=hai) anos
  masta bfa85218fa Introduce TCpuAsmOptimizer.GetNextInstructionUsingRef %!s(int64=11) %!d(string=hai) anos
  masta d1c5f89976 Make Next an Out-parameter in ARMs GetNextInstructionUsingReg %!s(int64=11) %!d(string=hai) anos
  masta 7a0c79de60 Fix for AndLsl2Lsl in ARM Peephole optimizer %!s(int64=11) %!d(string=hai) anos
  masta 85d208fea4 Fix ARM LoadScheduler in case of Pre/PostIndexed addressing %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen 857a849173 Added an additional check to the MulAdd2MLA optimization. The operands of the multiplication weren't checked. %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen a1197460e1 Constrained a number of optimizations and updated reference offsets for ARM Thumb. %!s(int64=11) %!d(string=hai) anos
  florian 23c8517418 * applying opXYX2opsXY to ADD makes no sense on thumb-2 (at least as far as I can see) %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen 95589fb1e2 Apply DataMov2Data to MLA and MLS too. Those have over 4 operands. %!s(int64=11) %!d(string=hai) anos
  florian ac85d44899 * do OpCmp2OpS optimization also if after cmp follows an appropriate mov %!s(int64=11) %!d(string=hai) anos
  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. %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen 07b2982e77 Don't do ARM FoldShiftLdrStr peephole optimization if there's an offset in the reference. %!s(int64=11) %!d(string=hai) anos
  masta 3f8549365a Don't schedule LDRD on ARM %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen 257b1affaa Fixed previous fix of LsrAnd2Lsr optimization. %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen f773334374 Fixed LsrAnd2Lsr peephole optimization for ARM. %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen 3b4f59c316 Fixed MLA/MLS peephole optimization and moved it to the generic ARM peephole optimizer. %!s(int64=11) %!d(string=hai) anos
  Jeppe Johansen 184baa3f99 Fixed invalid peephole optimization of ADD/SUB(SP) instructions for ARMv7*M targets. %!s(int64=11) %!d(string=hai) anos
  masta 9e0af11ad8 Rerun the peephole optimizer after removing the current instruction. %!s(int64=11) %!d(string=hai) anos
  masta 57ff589ec7 Always set p to the next instruction after removing p from asml. %!s(int64=11) %!d(string=hai) anos
  masta c644503daf Add MovLdr2Ldr peephole optimizer for ARM %!s(int64=11) %!d(string=hai) anos
  masta 77d12f61a2 Handle LDRD and STRD correctly in RegInInstruction for ARM %!s(int64=11) %!d(string=hai) anos