Procházet zdrojové kódy

* fixed interference generation for top_local

git-svn-id: trunk@6343 -
florian před 18 roky
rodič
revize
a800b2a3d3
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 1
      compiler/arm/rgcpu.pas

+ 2 - 1
compiler/arm/rgcpu.pas

@@ -182,7 +182,8 @@ unit rgcpu;
               A_LDRH,
               A_STRH:
                 { don't mix up the framepointer and stackpointer with pre/post indexed operations }
-                if (taicpu(p).oper[1]^.ref^.addressmode in [AM_PREINDEXED,AM_POSTINDEXED]) then
+                if (taicpu(p).oper[1]^.typ=top_ref) and
+                  (taicpu(p).oper[1]^.ref^.addressmode in [AM_PREINDEXED,AM_POSTINDEXED]) then
                   begin
                     add_edge(getsupreg(taicpu(p).oper[1]^.ref^.base),getsupreg(current_procinfo.framepointer));
                     { FIXME: temp variable r is needed here to avoid Internal error 20060521 }