Bläddra i källkod

* patch by Christo Crause: Fix missed optimization opportunities, resolves #38285

git-svn-id: trunk@47925 -
(cherry picked from commit 3482121831a899c3acf0a8f2d0e2d8e401a2eda5)
florian 4 år sedan
förälder
incheckning
99588969b9
1 ändrade filer med 4 tillägg och 1 borttagningar
  1. 4 1
      compiler/avr/aoptcpu.pas

+ 4 - 1
compiler/avr/aoptcpu.pas

@@ -416,7 +416,7 @@ Implementation
 
                             DebugMsg('Peephole LdiMov/Cp2Ldi/Cpi performed', p);
 
-                            RemoveCurrentP(p);
+                            result:=RemoveCurrentP(p);
                           end;
                         ReleaseUsedRegs(TmpUsedRegs);
                       end;
@@ -441,6 +441,7 @@ Implementation
                         taicpu(p).loadconst(0,taicpu(p).oper[0]^.ref^.offset)
                       else
                         taicpu(p).loadconst(0,taicpu(p).oper[0]^.ref^.offset-32);
+                      result:=true;
                     end;
                 A_LDS:
                   if (taicpu(p).oper[1]^.ref^.symbol=nil) and
@@ -462,6 +463,8 @@ Implementation
                         taicpu(p).loadconst(1,taicpu(p).oper[1]^.ref^.offset)
                       else
                         taicpu(p).loadconst(1,taicpu(p).oper[1]^.ref^.offset-32);
+
+                      result:=true;
                     end;
                 A_IN:
                     if GetNextInstruction(p,hp1) then