On 24/11/15 14:13, Richard Biener wrote:
On Tue, 24 Nov 2015, Tom de Vries wrote:

>On 23/11/15 11:02, Richard Biener wrote:
> >On Fri, 20 Nov 2015, Tom de Vries wrote:
> >
> > >On 20/11/15 14:29, Richard Biener wrote:
> > > >I agree it's somewhat of an odd behavior but all passes should
> > > >either be placed in a sub-pipeline with an outer
> > > >loop_optimizer_init()/finalize () call or call both themselves.
> > >
> > >Hmm, but adding loop_optimizer_finalize at the end of pass_lim breaks the
> > >loop
> > >pipeline.
> > >
> > >We could use the style used in pass_slp_vectorize::execute:
> > >...
> > >pass_slp_vectorize::execute (function *fun)
> > >{
> > >    basic_block bb;
> > >
> > >    bool in_loop_pipeline = scev_initialized_p ();
> > >    if (!in_loop_pipeline)
> > >      {
> > >        loop_optimizer_init (LOOPS_NORMAL);
> > >        scev_initialize ();
> > >      }
> > >
> > >    ...
> > >
> > >    if (!in_loop_pipeline)
> > >      {
> > >        scev_finalize ();
> > >        loop_optimizer_finalize ();
> > >      }
> > >...
> > >
> > >Although that doesn't strike me as particularly clean.
> >
> >At least it would be a consistent "unclean" style.  So yes, the
> >above would work for me.
> >
>
>Reposting using the in_loop_pipeline style in pass_lim.
The tree-ssa-loop-im.c changes are ok

OK, I'll commit those.

(I suppose the other changes
are in the other patch you posted as well).

This ( https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02882.html ) patch contains changes related to adding pass_oacc_kernels2. Are those the "other changes" you're referring to?

Thanks,
- Tom

Reply via email to