Преглед на файлове

* work with actualtargetnode when checking load nodes for cse

git-svn-id: trunk@25434 -
florian преди 12 години
родител
ревизия
b4481544ef
променени са 1 файла, в които са добавени 3 реда и са изтрити 3 реда
  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
               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 }
-             ((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)
             ) and