[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