소스 검색

* replace 'inc/dec orgreg' with 'inc/dec spilltemp' in trgcpu.do_spill_replace

git-svn-id: branches/z80@44552 -
nickysn 5 년 전
부모
커밋
e43834c5d0
1개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      compiler/z80/rgcpu.pas

+ 11 - 0
compiler/z80/rgcpu.pas

@@ -216,6 +216,17 @@ unit rgcpu;
                     instr.loadref(1,spilltemp);
                     result:=true;
                   end;
+              end
+            { Replace 'inc orgreg' with 'inc spilltemp'
+              and     'dec orgreg' with 'dec spilltemp' }
+            else if (opcode in [A_INC,A_DEC]) and (ops=1) and (oper[0]^.typ=top_reg) then
+              begin
+                if (getregtype(oper[0]^.reg)=regtype) and
+                   (get_alias(getsupreg(oper[0]^.reg))=orgreg) then
+                  begin
+                    instr.loadref(0,spilltemp);
+                    result:=true;
+                  end;
               end;
           end;
       end;