* [committed][nvptx] Verify dimension limits after applying defaults
@ 2019-01-12 10:37 Tom de Vries
0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2019-01-12 10:37 UTC (permalink / raw)
To: gcc-patches; +Cc: Thomas Schwinge
Hi,
There's a problem in oacc_validate_dims that when f.i. the worker dimension
is set using -fopenacc-dim=:32, and the vector_length is set using a
"vector_length (128)" clause, the compiler combines, accepts and emits the
values, while the combination of the two is invalid.
The reason for this is that while oacc_validate_dims validates the dimensions
using targetm.goacc.validate_dims before applying default or minimum values,
it does not do so afterwards.
Work around this in the nvptx port by applying the defaults from
oacc_default_dims at the end of nvptx_goacc_validate_dims_1, as
oacc_validate_dims would do it, and then apply the dimensions limits.
Committed to trunk.
Thanks,
- Tom
[nvptx] Verify dimension limits after applying defaults
2019-01-11 Tom de Vries <tdevries@suse.de>
PR middle-end/88703
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
from oacc_default_dims, as oacc_validate_dims would do it, and apply
dimensions limits.
---
gcc/config/nvptx/nvptx.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index 89f0e560910..a4c79532a1d 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -5703,6 +5703,23 @@ nvptx_goacc_validate_dims_1 (tree decl, int dims[], int fn_level, unsigned used)
dims[GOMP_DIM_GANG] = PTX_DEFAULT_RUNTIME_DIM;
nvptx_apply_dim_limits (dims);
}
+
+ if (offload_region_p)
+ {
+ for (i = 0; i < GOMP_DIM_MAX; i++)
+ {
+ if (!(dims[i] < 0))
+ continue;
+
+ if ((used & GOMP_DIM_MASK (i)) == 0)
+ /* Function oacc_validate_dims will apply the minimal dimension. */
+ continue;
+
+ dims[i] = oacc_get_default_dim (i);
+ }
+
+ nvptx_apply_dim_limits (dims);
+ }
}
/* Validate compute dimensions of an OpenACC offload or routine, fill
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-01-12 10:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-12 10:37 [committed][nvptx] Verify dimension limits after applying defaults Tom de Vries
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).