+ enable constant propagation across 2-parameter inc()/dec() calls

git-svn-id: trunk@35962 -
This commit is contained in:
nickysn 2017-04-26 23:21:44 +00:00
parent 012153201a
commit 8512f8240e

View File

@ -197,8 +197,9 @@ unit optconstprop;
{ constant inc'ed/dec'ed? }
if (tinlinenode(n).inlinenumber=in_dec_x) or (tinlinenode(n).inlinenumber=in_inc_x) then
begin
if not(assigned(tcallparanode(tinlinenode(n).left).right)) and
tnode(tassignmentnode(arg).left).isequal(tcallparanode(tinlinenode(n).left).left) then
if tnode(tassignmentnode(arg).left).isequal(tcallparanode(tinlinenode(n).left).left) and
(not(assigned(tcallparanode(tinlinenode(n).left).right)) or
(tcallparanode(tcallparanode(tinlinenode(n).left).right).left.nodetype=ordconstn)) then
begin
{ if the node just being searched is inc'ed/dec'ed then replace the inc/dec
by add/sub and force a second replacement pass }