瀏覽代碼

* fix mov rX,...; mov rX,... optimization, hp1 needs to be checked if it is really an instruction, resolves issue #27975

git-svn-id: trunk@30738 -
florian 10 年之前
父節點
當前提交
e56d8d1c96
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/avr/aoptcpu.pas

+ 1 - 1
compiler/avr/aoptcpu.pas

@@ -395,7 +395,7 @@ Implementation
                     mov rX,...
                   }
                   else if taicpu(hp1).opcode=A_MOV then
-                    while (taicpu(hp1).opcode=A_MOV) and
+                    while (hp1.typ=ait_instruction) and (taicpu(hp1).opcode=A_MOV) and
                           MatchOperand(taicpu(p).oper[0]^, taicpu(hp1).oper[0]^) and
                           { don't remove the first mov if the second is a mov rX,rX }
                           not(MatchOperand(taicpu(hp1).oper[0]^,taicpu(hp1).oper[1]^)) do