mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-29 20:00:19 +02:00
* apply cse to all non-regable variables if possible
git-svn-id: trunk@26579 -
This commit is contained in:
parent
03b859947f
commit
1b355ce1e4
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user