Commit History

Autor SHA1 Mensaxe Data
  Jeppe Johansen 8b8f905d46 Merged with trunk, and fixed some errors introduced. %!s(int64=9) %!d(string=hai) anos
  florian cfd49ec708 + TAOptBase.SuperRegistersEqual %!s(int64=9) %!d(string=hai) anos
  florian 3c2dab9878 * i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same %!s(int64=9) %!d(string=hai) anos
  florian 1266491085 o refactored some peephole optimizer code: %!s(int64=9) %!d(string=hai) anos
  yury 5771073e0b * Fixed general peephole optimization of conditional jumps after r30446. It has been broken, since r30446 had added some IsJumpToLabel() checks, which tests for unconditional jump, but the optimization code expects also conditional jumps. %!s(int64=9) %!d(string=hai) anos
  yury 11a9ff4a43 * Removed unused vars for mipsel compiler. %!s(int64=10) %!d(string=hai) anos
  yury 432248cbf1 * Removed lot of unused vars. %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe 8c8657e2d5 * base optimiser support for the JVM target %!s(int64=10) %!d(string=hai) anos
  Jeppe Johansen 03880c2f74 Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR. %!s(int64=10) %!d(string=hai) anos
  florian 1114089d25 * IsJumpToLabel checks number of operands %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe 620af1732a * support for AArch64 branch forwarding %!s(int64=10) %!d(string=hai) anos
  sergei 0041024e5f * Modified FindRegAlloc() to skip branch delay slots in the same way it is done in GetNextInstruction(). This fixes processing sequences "dealloc reg; branch reg,label; NOP; alloc reg" in BuildLabelTableAndFixRegAlloc(), deallocation is now correctly moved after branch. Before this change, the last allocation was ignored, and deallocation was moved forward until another instruction using reg was encountered. %!s(int64=10) %!d(string=hai) anos
  Jeppe Johansen 92d2df0b82 Fixed a source of bugs in the generic assembly optimizer. Sometimes conditional branches don't have an opposite form. %!s(int64=11) %!d(string=hai) anos
  florian 8060d4a3f7 * when updating registers in RegUsedAfterInstruction, new reg. allocs should be ignored %!s(int64=11) %!d(string=hai) anos
  masta 81517fdf70 Rerun peephole optimizers on the whole block %!s(int64=11) %!d(string=hai) anos
  florian 0eeb3e8d49 * check if the pointer is really assigned when trying to remove unneeded jumps %!s(int64=11) %!d(string=hai) anos
  sergei 40239e8bcc * Elaborating removal of branches with delay slots: ignore reg. deallocations that are inserted by RA between branch and its delay slot instruction. %!s(int64=11) %!d(string=hai) anos
  florian 2806947a8f + FindRegAllocBackward %!s(int64=12) %!d(string=hai) anos
  sergei 1c84c3edbf * Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets. %!s(int64=12) %!d(string=hai) anos
  sergei a4217da7df * Factored repeating code into separate procedure (IsJumpToLabel) %!s(int64=12) %!d(string=hai) anos
  florian b6a4602989 * ignore alignment entries in FindLabel %!s(int64=13) %!d(string=hai) anos
  florian 3e9baa3f47 * check also register type in FindRegalloc %!s(int64=13) %!d(string=hai) anos
  florian 6e62fbc3d2 * more consistent updates of used registers %!s(int64=13) %!d(string=hai) anos
  florian 07e26cfb12 + TUsedRegs.Update parameter IgnoreNewAllocs so new allocs of registers can be ignored during update %!s(int64=13) %!d(string=hai) anos
  Jonas Maebe d472a6d5d0 * changed tregset into tcpuregisterset so it's faster and uses less memory %!s(int64=13) %!d(string=hai) anos
  florian 72746e635d * optimize TAOptObj.UpdateUsedRegs to avoid multiple passes through the asmlist %!s(int64=13) %!d(string=hai) anos
  florian 17dd362a5a * white space %!s(int64=13) %!d(string=hai) anos
  florian 2402e8e504 * fixes FindRegAlloc %!s(int64=13) %!d(string=hai) anos
  florian 748694a325 * fixes some issues with reg. allocation information %!s(int64=13) %!d(string=hai) anos
  Jonas Maebe 7742dc0006 * don't remove ait_markers between unconditional jumps and the next label, %!s(int64=13) %!d(string=hai) anos