mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 12:49:33 +02:00
* cse adjusted
git-svn-id: trunk@43496 -
This commit is contained in:
parent
13ab35e3ef
commit
851accbb4b
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user