[lno] some cleanups for scev

Sebastian Pop sebastian.pop@cri.ensmp.fr
Thu Apr 15 16:05:00 GMT 2004


On Thu, Apr 15, 2004 at 05:23:28PM +0200, Zdenek Dvorak wrote:
> Hello,
> 
> > @@ -2330,9 +2291,36 @@ follow_ssa_edge_inner_loop_phi (struct l
> >  				tree *evolution_of_loop)
> >  {
> >    struct loop *loop = loop_of_stmt (loop_phi_node);
> > -  tree ev = compute_overall_effect_of_inner_loop (loop,
> > -						  PHI_RESULT (loop_phi_node));
> > +  tree ev = analyze_scalar_evolution (loop, PHI_RESULT (loop_phi_node));
> > +
> > +  /* Sometimes, the inner loop is too difficult to analyze, and the
> > +     result of the analysis is a symbolic parameter.  */
> > +  if (ev == PHI_RESULT (loop_phi_node))
> 
> note that I have removed whole "symbolic parameter" stuff, as it made us
> produce really weird results (what should have been the purpose of it)?

When you have:

"a = f ()"
"a = phi (unknown, unknown)"

it is still possible to keep the result under a symbolic form: "a".
This mechanism was used in older versions of the analyzer, so it could
be a little dusty.

> So this case never triggers.
> 

I don't think so.  



More information about the Gcc-patches mailing list