[nvptx] Apply vector-partitionable routines workaround to default vl
authorTom de Vries <tdevries@suse.de>
Sat, 12 Jan 2019 10:27:34 +0000 (10:27 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Sat, 12 Jan 2019 10:27:34 +0000 (10:27 +0000)
Make "[nvptx] Force vl32 if calling vector-partitionable routines" work as well
if vector length is set by modifying PTX_DEFAULT_VECTOR_LENGTH.

2019-01-12  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
region calling vector-partitionable routine, set default_vector_length
to WARP_SIZE.

From-SVN: r267879

gcc/ChangeLog
gcc/config/nvptx/nvptx.c

index 87697c47ac1ef47e4748a34068caaa4506238b06..24174c118ba78005b0cc359239527c0486d45b36 100644 (file)
@@ -1,3 +1,9 @@
+2019-01-12  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
+       region calling vector-partitionable routine, set default_vector_length
+       to WARP_SIZE.
+
 2019-01-12  Tom de Vries  <tdevries@suse.de>
 
        * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
index 95d72d0a4e032f6f2e1af4e6e01058d5bc1c7dc2..1d9704543d9fd597622e15786de2bef67b9de6ad 100644 (file)
@@ -5669,6 +5669,8 @@ nvptx_goacc_validate_dims_1 (tree decl, int dims[], int fn_level, unsigned used)
   const char *vector_reason = NULL;
   if (offload_region_p && has_vector_partitionable_routine_calls_p (decl))
     {
+      default_vector_length = PTX_WARP_SIZE;
+
       if (dims[GOMP_DIM_VECTOR] > PTX_WARP_SIZE)
        {
          vector_reason = G_("using vector_length (%d) due to call to"