[nvptx, libgomp] Move rtl-dump test-cases to libgomp
authorTom de Vries <tdevries@suse.de>
Wed, 19 Dec 2018 14:20:44 +0000 (14:20 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 19 Dec 2018 14:20:44 +0000 (14:20 +0000)
The goacc.exp test-cases nvptx-merged-loop.c and nvptx-sese-1.c are failing
during linking due to missing libgomp.spec.

Move them to the libgomp testsuite.

Build and reg-tested on x86_64 with nvptx accelerator.

2018-12-19  Tom de Vries  <tdevries@suse.de>

* gcc.dg/goacc/nvptx-merged-loop.c: Move to
libgomp/testsuite/libgomp.oacc-c-c++-common.
* gcc.dg/goacc/nvptx-sese-1.c: Same.

* testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
* testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
gcc/testsuite/gcc.dg/goacc.
* testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.

From-SVN: r267267

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/goacc/nvptx-merged-loop.c [deleted file]
gcc/testsuite/gcc.dg/goacc/nvptx-sese-1.c [deleted file]
libgomp/ChangeLog
libgomp/testsuite/lib/libgomp.exp
libgomp/testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c [new file with mode: 0644]

index 8f1353465c331c3f420e4e6318dba188b7e98f6d..31aff7d80c1e21d2a92eb103cab781129705c6a0 100644 (file)
@@ -1,3 +1,9 @@
+2018-12-19  Tom de Vries  <tdevries@suse.de>
+
+       * gcc.dg/goacc/nvptx-merged-loop.c: Move to
+       libgomp/testsuite/libgomp.oacc-c-c++-common.
+       * gcc.dg/goacc/nvptx-sese-1.c: Same.
+
 2018-12-19  Tom de Vries  <tom@codesourcery.com>
 
        * lib/scanoffloadrtl.exp: New file.
diff --git a/gcc/testsuite/gcc.dg/goacc/nvptx-merged-loop.c b/gcc/testsuite/gcc.dg/goacc/nvptx-merged-loop.c
deleted file mode 100644 (file)
index 3ff537c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* { dg-do link } */
-/* { dg-require-effective-target offload_nvptx } */
-/* { dg-options "-fopenacc -O2 -foffload=-fdump-rtl-mach\\ -dumpbase\\ nvptx-merged-loop.c\\ -Wa,--no-verify" } */
-
-#define N (32*32*32+17)
-void __attribute__ ((noinline)) Foo (int *ary)
-{
-  int ix;
-
-#pragma acc parallel num_workers(32) vector_length(32) copyout(ary[0:N])
-  {
-    /* Loop partitioning should be merged.  */
-#pragma acc loop worker vector
-    for (unsigned ix = 0; ix < N; ix++)
-      {
-       ary[ix] = ix;
-      }
-  }
-}
-
-int main ()
-{
-  int ary[N];
-
-  Foo (ary);
-
-  return 0;
-}   
-
-/* { dg-final { scan-rtl-dump "Merging loop .* into " "mach" } } */
diff --git a/gcc/testsuite/gcc.dg/goacc/nvptx-sese-1.c b/gcc/testsuite/gcc.dg/goacc/nvptx-sese-1.c
deleted file mode 100644 (file)
index 7e67fe7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* { dg-do link } */
-/* { dg-require-effective-target offload_nvptx } */
-/* { dg-options "-fopenacc -O2 -foffload=-fdump-rtl-mach\\ -dumpbase\\ nvptx-sese-1.c\\ -Wa,--no-verify" } */
-
-#pragma acc routine  seq
-int __attribute__((noinline)) foo (int x)
-{
-  return x & 2;
-}
-
-int main ()
-{
-  int r = 0;
-  
-#pragma acc parallel copy(r) vector_length(32)
-  {
-#pragma acc loop vector reduction (+:r)
-    for (int i = 00; i < 40; i++)
-      r += i;
-
-    /* This piece is a multi-block SESE region */
-    if (foo (r))
-      r *= 2;
-
-    if (r & 1) /* to here. */
-#pragma acc loop vector reduction (+:r)
-      for (int i = 00; i < 40; i++)
-       r += i;
-  }
-
-  return 0;
-}
-
-/* Match {N->N(.N)+} */
-/* { dg-final { scan-rtl-dump "SESE regions:.* \[0-9\]+{\[0-9\]+->\[0-9\]+(\\.\[0-9\]+)+}" "mach" } } */
index 084f174513b03d5fd3f5808900659bd738eb3d50..ad0abb8a95e4e38274d0db33d2b6cd195b170771 100644 (file)
@@ -1,3 +1,10 @@
+2018-12-19  Tom de Vries  <tdevries@suse.de>
+
+       * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
+       * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
+       gcc/testsuite/gcc.dg/goacc.
+       * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
+
 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
            Chung-Lin Tang  <cltang@codesourcery.com>
 
index c41b3e6dc18f662208f76333c68b47987a37b1ee..04738a9ce82668d1ce947b3fd303c9ff2acabfeb 100644 (file)
@@ -31,6 +31,7 @@ load_gcc_lib scanrtl.exp
 load_gcc_lib scantree.exp
 load_gcc_lib scanltranstree.exp
 load_gcc_lib scanoffloadtree.exp
+load_gcc_lib scanoffloadrtl.exp
 load_gcc_lib scanipa.exp
 load_gcc_lib scanwpaipa.exp
 load_gcc_lib timeout-dg.exp
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c
new file mode 100644 (file)
index 0000000..8a2117e
--- /dev/null
@@ -0,0 +1,30 @@
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
+/* { dg-options "-foffload=-fdump-rtl-mach" } */
+/* { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
+
+#define N (32*32*32+17)
+void __attribute__ ((noinline)) Foo (int *ary)
+{
+  int ix;
+
+#pragma acc parallel num_workers(32) vector_length(32) copyout(ary[0:N])
+  {
+    /* Loop partitioning should be merged.  */
+#pragma acc loop worker vector
+    for (unsigned ix = 0; ix < N; ix++)
+      {
+       ary[ix] = ix;
+      }
+  }
+}
+
+int main ()
+{
+  int ary[N];
+
+  Foo (ary);
+
+  return 0;
+}   
+
+/* { dg-final { scan-offload-rtl-dump "Merging loop .* into " "mach" } } */
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c
new file mode 100644 (file)
index 0000000..9583265
--- /dev/null
@@ -0,0 +1,35 @@
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
+/* { dg-options "-foffload=-fdump-rtl-mach" } */
+/* { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
+
+#pragma acc routine  seq
+int __attribute__((noinline)) foo (int x)
+{
+  return x & 2;
+}
+
+int main ()
+{
+  int r = 0;
+  
+#pragma acc parallel copy(r) vector_length(32)
+  {
+#pragma acc loop vector reduction (+:r)
+    for (int i = 00; i < 40; i++)
+      r += i;
+
+    /* This piece is a multi-block SESE region */
+    if (foo (r))
+      r *= 2;
+
+    if (r & 1) /* to here. */
+#pragma acc loop vector reduction (+:r)
+      for (int i = 00; i < 40; i++)
+       r += i;
+  }
+
+  return 0;
+}
+
+/* Match {N->N(.N)+} */
+/* { dg-final { scan-offload-rtl-dump "SESE regions:.* \[0-9\]+{\[0-9\]+->\[0-9\]+(\\.\[0-9\]+)+}" "mach" } } */