2
0
Эх сурвалжийг харах

* don't apply cse on static variables being regable

git-svn-id: trunk@23785 -
florian 12 жил өмнө
parent
commit
2c7b34cda1
1 өөрчлөгдсөн 3 нэмэгдсэн , 1 устгасан
  1. 3 1
      compiler/optcse.pas

+ 3 - 1
compiler/optcse.pas

@@ -179,7 +179,9 @@ unit optcse;
               current stack frame, those are in registers anyways if possible
             }
             (not(n.nodetype=loadn) or
-             not(tloadnode(n).symtableentry.typ in [paravarsym,localvarsym]) or
+             not(tloadnode(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
              (node_complexity(n)>1)
             ) and