* cse adjusted

git-svn-id: trunk@43496 -
This commit is contained in:
florian 2019-11-16 14:07:59 +00:00
parent 13ab35e3ef
commit 851accbb4b
2 changed files with 3 additions and 2 deletions

View File

@ -780,7 +780,8 @@ implementation
else if not((tloadnode(p).symtableentry.typ in [staticvarsym,localvarsym,paravarsym,fieldvarsym]) and
(tabstractvarsym(tloadnode(p).symtableentry).varregable in [vr_intreg,vr_mmreg,vr_fpureg])) then
inc(result);
if (tloadnode(p).symtableentry.typ=paravarsym) and tloadnode(p).is_addr_param_load then
if not(tabstractvarsym(tloadnode(p).symtableentry).varregable=vr_addr) and
(tloadnode(p).symtableentry.typ=paravarsym) and tloadnode(p).is_addr_param_load then
inc(result);
if (result >= NODE_COMPLEXITY_INF) then
result := NODE_COMPLEXITY_INF;

View File

@ -196,7 +196,7 @@ unit optcse;
not(tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or
{ apply cse on non-regable variables }
((tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) and
not(tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).is_regvar(false)) and
not(tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).is_regvar(true)) and
not(vo_volatile in tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).varoptions)) or
(node_complexity(n)>1)
) and