[lno] some cleanups for scev

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Thu Apr 15 16:43:00 GMT 2004


Hello,

> > Perhaps you could write a more complete example, so that it can be seen
> > what you have in mind?
> > 
> 
> Yes, here it goes:
> 
> 
> Example1:
> 
> loop_1 
>   a = phi (3, c)
>   d = foo ()
>   c = a + d
> endloop_1
> 
> I still want to have a -> {3, +, d}

this makes a lot of code dependent on scev wrong.  In particular
anything that tests "no_evolution_in_loop_p" will get wrong results
when testing such expressions.  Similarly, detection of number of
iterations will get wrong results when expressions like this are
produced, since there is no indication that d may have different values
in different iterations and constant folding does not count with this.

What I would like to obtain for this expression is either
{3, +, chrec_top}, or chrec_top directly.

Or do you have any example where the usage of symbolic values would
actually be useful?

Zdenek



More information about the Gcc-patches mailing list