* apply cse to all non-regable variables if possible

git-svn-id: trunk@26579 -
This commit is contained in:
florian 2014-01-25 08:50:13 +00:00
parent 03b859947f
commit 1b355ce1e4

View File

@ -180,8 +180,10 @@ unit optcse;
} }
(not(actualtargetnode(@n)^.nodetype=loadn) or (not(actualtargetnode(@n)^.nodetype=loadn) or
not(tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or not(tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or
{ apply cse on non-regable static variables } { apply cse on non-regable variables }
((tloadnode(actualtargetnode(@n)^).symtableentry.typ=staticvarsym) and (tstaticvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).varregable=vr_none)) or ((tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) and
not(tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).is_regvar(false)) and
not(vo_volatile in tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).varoptions)) or
(node_complexity(n)>1) (node_complexity(n)>1)
) and ) and