Re: [OpenACC 7/11] execution model

2020-11-24 Thread Thomas Schwinge
Hi! On 2015-10-21T15:42:26-0400, Nathan Sidwell wrote: > This patch is the early lowering part of OpenACC loops. Rather than > piggy-back > onto expand_omp_for_static_nochunk & expand_omp_for_static_chunk, we have a > new > function 'expand_oacc_for', which does the OpenACC equivalent > expens

Re: [OpenACC 7/11] execution model

2015-10-27 Thread Nathan Sidwell
On 10/27/15 07:02, Nathan Sidwell wrote: yeah, I noticed diff got confused. (I'm not sure the above suggestion will resolve it, but we can give it a go. This is what I've committed. This breaks the libgomp reduction tests on nvidia, because there's now a discrepancy between loop iteration

Re: [OpenACC 7/11] execution model

2015-10-27 Thread Nathan Sidwell
On 10/27/15 01:18, Jakub Jelinek wrote: LGTM, though could I ask you to try to try to move the struct oacc_collapse expand_oacc_collapse_init expand_oacc_collapse_vars expand_oacc_for additions somewhere else (e.g. in between expand_omp_taskreg and expand_omp_for_init_counts), ok, I wasn't su

Re: [OpenACC 7/11] execution model

2015-10-27 Thread Jakub Jelinek
On Mon, Oct 26, 2015 at 04:11:20PM -0700, Nathan Sidwell wrote: > Jakub, Richard, > This is the updated version of patch 7, using target-insns.def for the new > insns. Otherwise same as yesterday's, which had the following changes: > > The significant change is that now the head/tail unique marke

Re: [OpenACC 7/11] execution model

2015-10-26 Thread Nathan Sidwell
Jakub, Richard, This is the updated version of patch 7, using target-insns.def for the new insns. Otherwise same as yesterday's, which had the following changes: The significant change is that now the head/tail unique markers are threaded on a data dependency variable. I'd not noticed its

Re: [OpenACC 7/11] execution model

2015-10-25 Thread Nathan Sidwell
Jakub, Richard, here's an updated version of patch 7, the early half of OpenACC lowering. I've addressed all of Jakub's earlier comments. The significant change is that now the head/tail unique markers are threaded on a data dependency variable. I'd not noticed its lack being a problem, bu

Re: [OpenACC 7/11] execution model

2015-10-22 Thread Nathan Sidwell
On 10/22/15 08:59, Jakub Jelinek wrote: On Thu, Oct 22, 2015 at 08:50:23AM -0400, Nathan Sidwell wrote: + expr = build2 (TRUNC_MOD_EXPR, ivar_type, ivar, +fold_convert (ivar_type, collapse->iters)); + expr = build2 (MULT_EXPR, diff_type, fold_convert (diff_type, exp

Re: [OpenACC 7/11] execution model

2015-10-22 Thread Jakub Jelinek
On Thu, Oct 22, 2015 at 08:50:23AM -0400, Nathan Sidwell wrote: > >>+ expr = build2 (TRUNC_MOD_EXPR, ivar_type, ivar, > >>+fold_convert (ivar_type, collapse->iters)); > >>+ expr = build2 (MULT_EXPR, diff_type, fold_convert (diff_type, expr), > >>+collapse->

Re: [OpenACC 7/11] execution model

2015-10-22 Thread Nathan Sidwell
On 10/22/15 05:23, Jakub Jelinek wrote: On Wed, Oct 21, 2015 at 03:42:26PM -0400, Nathan Sidwell wrote: +/* Flags for an OpenACC loop. */ + +enum oacc_loop_flags + { Weird formatting. I see either Blame emacs (I thought it was configured for GNU formatting ...) + expr = build2 (

Re: [OpenACC 7/11] execution model

2015-10-22 Thread Jakub Jelinek
On Wed, Oct 21, 2015 at 03:42:26PM -0400, Nathan Sidwell wrote: > +/* Flags for an OpenACC loop. */ > + > +enum oacc_loop_flags > + { Weird formatting. I see either enum foobarbaz { e1 = ..., e2 = ... }; or enum foobarbaz { e1 = ..., e2 = ... }; styles being used heavily, but not this

Re: [OpenACC 7/11] execution model

2015-10-21 Thread Nathan Sidwell
This patch is the early lowering part of OpenACC loops. Rather than piggy-back onto expand_omp_for_static_nochunk & expand_omp_for_static_chunk, we have a new function 'expand_oacc_for', which does the OpenACC equivalent expension. Except that it uses a new internal builtin to abstract the ac