Commit History

Autor SHA1 Mensaxe Data
  florian 94d7a02fae * modified patch by Gareth Moreton to pool TmpUsedRegs in the assembler optimizers, resolves #34679 %!s(int64=6) %!d(string=hai) anos
  Jonas Maebe 122d0d36d6 + volatile() expression that marks an expression as volatile %!s(int64=6) %!d(string=hai) anos
  pierre 0abc978cc4 Change RemoveCurrentP parameter type to tai, because GetNextInstruction does not always return a taicpu, adapt code in avr/aoptcpu unit %!s(int64=6) %!d(string=hai) anos
  florian 11ef1d17c2 * fix register allocation for MovOp2Op and PushPushPopPop2MovMov %!s(int64=7) %!d(string=hai) anos
  florian 9fc0f28ae4 * handle movw in TCpuAsmOptimizer.RegInInstruction %!s(int64=7) %!d(string=hai) anos
  florian 61660375ce + AVR PeepHoleOptPass1Cpu makes use of TAOptObj.RemoveCurrentP to track register usage properly %!s(int64=7) %!d(string=hai) anos
  florian 63ffb02b34 + Mov2Nop %!s(int64=7) %!d(string=hai) anos
  florian 93a0cef65d * improved OpCp2Op %!s(int64=7) %!d(string=hai) anos
  florian 52cb8fbb98 + AddAdc2Add %!s(int64=7) %!d(string=hai) anos
  florian 5b16a84de1 + RCallReg2RJmp optimization %!s(int64=7) %!d(string=hai) anos
  florian 46ab35edb3 * apply MovOpMov2Op also to inc and dec %!s(int64=7) %!d(string=hai) anos
  florian 366360d36c * LdiMov/Cp2Ldi/Cpi may not be performed if reg0=reg1 %!s(int64=7) %!d(string=hai) anos
  florian ad01f059e8 * after a LdiMov/Cp2Ldi/Cpi optimization, the compiler should not continue to optimize this instruction because then reg. alloc info is wrong %!s(int64=7) %!d(string=hai) anos
  florian 4a43d992f5 * unified usage of MatchOpType %!s(int64=8) %!d(string=hai) anos
  florian 39b7f1bffe * do not write assembler optimizer debug output in avr assembler files %!s(int64=8) %!d(string=hai) anos
  florian 8e7101a65a * proper naming of the optimziation in the DebugMsg %!s(int64=8) %!d(string=hai) anos
  florian e33b2920dc + CallReg2Jmp optimization %!s(int64=8) %!d(string=hai) anos
  florian e49a826837 + PushPushPopPop2MovMov optimization %!s(int64=8) %!d(string=hai) anos
  florian 0520d246d0 * changed LdiCp2Cpi into LdiMov/Cp2Ldi/Cpi and improved it %!s(int64=8) %!d(string=hai) anos
  florian b2f15e2736 * first check for ait_instruction before checking opcode %!s(int64=9) %!d(string=hai) anos
  Jeppe Johansen baae6ec169 Fix incorrect AVR optimization. %!s(int64=9) %!d(string=hai) anos
  Jeppe Johansen 7fc3ed2644 Fix a broken OpCp2Op optimization. It needed the added NR_DEFAULTFLAGS allocation to not break subsequent optimizations. %!s(int64=9) %!d(string=hai) anos
  Jeppe Johansen ffe67a93b4 Fix is_calljmp to include call instructions. This was breaking some optimizations previously. %!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 b1147ba1b7 + OpCmp2Op optimization for AVR %!s(int64=10) %!d(string=hai) anos
  florian 9216e561e2 + make use of sbi/cbi %!s(int64=10) %!d(string=hai) anos
  florian e56d8d1c96 * fix mov rX,...; mov rX,... optimization, hp1 needs to be checked if it is really an instruction, resolves issue #27975 %!s(int64=10) %!d(string=hai) anos
  florian 3282ff0506 + remove dead moves, resolves issue #27842 %!s(int64=10) %!d(string=hai) anos
  florian 987b66636d + optimize LDS/STS into IN/OUT, resolves issue #27884 %!s(int64=10) %!d(string=hai) anos
  florian 3e8766290d * implements RegInInstruction and fixes RegModifiedByInstruction for avr %!s(int64=10) %!d(string=hai) anos