Prechádzať zdrojové kódy

* work with actualtargetnode when checking load nodes for cse

git-svn-id: trunk@25434 -
florian 12 rokov pred
rodič
commit
b4481544ef
1 zmenil súbory, kde vykonal 3 pridanie a 3 odobranie
  1. 3 3
      compiler/optcse.pas

+ 3 - 3
compiler/optcse.pas

@@ -178,10 +178,10 @@ unit optcse;
               load nodes are not considered if they load para or local symbols from the
               load nodes are not considered if they load para or local symbols from the
               current stack frame, those are in registers anyways if possible
               current stack frame, those are in registers anyways if possible
             }
             }
-            (not(n.nodetype=loadn) or
-             not(tloadnode(n).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or
+            (not(actualtargetnode(@n)^.nodetype=loadn) or
+             not(tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or
              { apply cse on non-regable static variables }
              { apply cse on non-regable static variables }
-             ((tloadnode(n).symtableentry.typ=staticvarsym) and (tstaticvarsym(tloadnode(n).symtableentry).varregable=vr_none)) or
+             ((tloadnode(actualtargetnode(@n)^).symtableentry.typ=staticvarsym) and (tstaticvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).varregable=vr_none)) or
              (node_complexity(n)>1)
              (node_complexity(n)>1)
             ) and
             ) and