This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [lno] some cleanups for scev


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.  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]