Commit History

Autor SHA1 Mensaxe Data
  pierre 92cd9502ef Merge of revisions 40277 %!s(int64=6) %!d(string=hai) anos
  pierre d8b0ded10c Marge of more trunk fixes into fixes branch. %!s(int64=6) %!d(string=hai) anos
  yury 71d9269b25 Merged revision(s) 40585-40586 from trunk: %!s(int64=6) %!d(string=hai) anos
  Jeppe Johansen 09a8cafcd7 Restricted MlaCmp>Mlas optimization to only work in ARM mode. %!s(int64=8) %!d(string=hai) anos
  florian 4868b83157 * do not generate always debug messages in the arm assembler optimizer %!s(int64=8) %!d(string=hai) anos
  yury 3bedccf946 * ARM scheduler need to move register de-allocs located before the instruction. Also preserve order of allocs and de-allocs. %!s(int64=8) %!d(string=hai) anos
  yury fe0e30030f * In ARM scheduler move all needed additional items with an instruction: %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe 38fd0efa3b * don't conditionalise BL on ARM, because it may have to be converted to %!s(int64=9) %!d(string=hai) anos
  florian 73aeea73ed + VOpVMov2VOp optimization %!s(int64=9) %!d(string=hai) anos
  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