On Tue, Sep 04, 2012 at 11:27:47AM +0200, Richard Guenther wrote:
> On Mon, Sep 3, 2012 at 5:52 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
> >> On Fri, Aug 31, 2012 at 7:24 PM, Martin Jambor <mjam...@suse.cz> wrote:
> >> > Hi,
> >> >
> >> > On Thu, Aug 30, 2012 at 05:11:35PM +0200, Martin Jambor wrote:
> >> >> this is a new version of the patch which makes ipa analysis produce
> >> >> predicates for PHI node results, at least at the bottom of the
> >> >> simplest diamond and semi-diamond CFG subgraphs.  This time I also
> >> >> analyze the conditions again rather than extracting information from
> >> >> CFG edges, which means I can reason about substantially more PHI
> >> >> nodes.
> >> >>
> >> >> This patch makes us produce loop bounds hint for the pr48636.f90
> >> >> testcase.
> >> >>
> >> >> Bootstrapped and tested on x86_64-linux.  OK for trunk?
> >> >>
> >> >> Thanks,
> >> >>
> >> >> Martin
> >> >>
> >> >>
> >> >> 2012-08-29  Martin Jambor  <mjam...@suse.cz>
> >> >>
> >> >>       * ipa-inline-analysis.c (phi_result_unknown_predicate): New 
> >> >> function.
> >> >>       (predicate_for_phi_result): Likewise.
> >> >>       (estimate_function_body_sizes): Use the above two functions.
> >> >>
> >> >
> >> > This patch, on top of the one doing loop calculations almost always,
> >> > introduces a number of testsuite failures which somehow I had not
> >> > caught during my testing.  The problem is that either
> >> > calculate_dominance_info or loop_optimizer_init introduce new SSA
> >> > names for which there is no index in nonconstant_names which is
> >> > allocated before the dominance and loop computations.  I'm currently
> >> > bootstrapping and testing the following fix which simply allocates the
> >> > vector after doing the two computations.  If it passes I will commit
> >> > it straight away so that the regression is fixed before I leave for
> >> > the weekend, I hope it's obvious enough for that.
> >> >
> >> > On the other hand, it would really be better if we did not change
> >> > function bodies during IPA summary generation phase...
> >>
> >> Um ... we shouldn't do this.  Can you track down where it happens?  I
> >> suppose it might come from CFG manipulations loop_optimizer_init
> >> performs when not passing AVOID_CFG_MODIFICATIONS.
> >
> > I bet it come from loop noromalization :) (i.e. loop closed form
> > or preheader construction both needs new SSA names.)
> > I think it would be best to make pass manager to handle this and make
> > loop normalization to happen once before all SSA IPA analysis
> 
> And compute loops as well.

OK, this is now PR 54477 so that we don't forget.

Thanks,

Martin

Reply via email to