[tree-ssa] CCP inefficiencies

Diego Novillo dnovillo@redhat.com
Fri Feb 14 14:43:00 GMT 2003


On Fri, 14 Feb 2003, Jeff Law wrote:

> Ping-ponging isn't allowed.
>
Of course not.  Not only it's not allowed, it's impossible.  The
algorigthm is designed to only make state changes that move up
the lattice, you cannot transition down.  I didn't want to imply
ping-pong effects.  My point was that once folded, an expression
may need to be unfolded.

> CONSTANT->CONSTANT is not allowed (which is
> something your code gets wrong).
> 
C -> C is not a state change.  How can we get it wrong?  Are you
saying that there are cases where we transition sideways in the
lattice?  We can switch a variable from one constant value C1 to
different constant value C2?  Eek, that shouldn't.  Do you have a
testcase?


> A non-destructive folder will handle this just fine.
> 
Well, of course, that's the point :)  Do you think we should
re-implement fold()?  I think may_fold_p() should be good enough
for the time being.  But if you want to implement a
non-destructive folder, that's also fine with me.


Diego.



More information about the Gcc mailing list