This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- From: Richard Biener <rguenther at suse dot de>
- To: Tom de Vries <Tom_deVries at mentor dot com>
- Cc: "gcc-patches at gnu dot org" <gcc-patches at gnu dot org>, Jakub Jelinek <jakub at redhat dot com>
- Date: Tue, 24 Nov 2015 15:33:30 +0100 (CET)
- Subject: Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Authentication-results: sourceware.org; auth=none
- References: <5640BD31 dot 2060602 at mentor dot com> <5640FB07 dot 6010008 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511111159040 dot 4884 at t29 dot fhfr dot qr> <5649C41A dot 40403 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511161341420 dot 4884 at t29 dot fhfr dot qr> <564DA4CA dot 3020506 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511201128590 dot 4884 at t29 dot fhfr dot qr> <564F1F85 dot 1000108 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511201428100 dot 4884 at t29 dot fhfr dot qr> <564F4B72 dot 8010605 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511231101560 dot 4884 at t29 dot fhfr dot qr> <565455C9 dot 7000206 at mentor dot com> <alpine dot LSU dot 2 dot 11 dot 1511241412460 dot 4884 at t29 dot fhfr dot qr> <56546E0A dot 3060704 at mentor dot com>
On Tue, 24 Nov 2015, Tom de Vries wrote:
> 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?
No, the other pathc adding oacc_kernels pass group to passes.def.
Btw, at some point splitting patches too much becomes very much
confusing instead of helping.
Richard.
- References:
- [PATCH series, 16] Use parloops to parallelize oacc kernels regions
- [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def
- Re: [PATCH, 10/16] Add pass_oacc_kernels pass group in passes.def