Hi! On Thu, 09 Jul 2015 20:25:22 -0400, Nathan Sidwell <[email protected]> wrote: > This is the patch I committed.
:-) Whee!
From testing this, two things:
1. Can you please have a look at the following ICE? I suppose you can
reproduce this in your non-checking build by just unconditionally
enabling that df_verify call? Committed to gomp-4_0-branch in r225656:
commit 1aff96b721921f621642c0fab95359453bc01beb
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Jul 10 09:01:55 2015 +0000
Work around nvptx offloading compiler --enable-checking=yes,df,fold,rtl
breakage
... introduced in r225647.
checking whether the GNU Fortran compiler is working... no
configure: error: GNU Fortran is not working; please report a bug in
http://gcc.gnu.org/bugzilla, attaching
/home/thomas/tmp/source/gcc/openacc/openacc-gomp-4_0-branch-work_/build-gcc-accel-nvptx/nvptx-none/libgfortran/config.log
make[1]: *** [configure-target-libgfortran] Error 1
configure:4192: [...]/build-gcc-accel-nvptx/./gcc/xgcc
-B[...]/build-gcc-accel-nvptx/./gcc/ -nostdinc
-B[...]/build-gcc-accel-nvptx/nvptx-none/newlib/ -isystem
[...]/build-gcc-accel-nvptx/nvptx-none/newlib/targ-include -isystem
[...]/source-gcc/newlib/libc/include -B/nvptx-none/bin/ -B/nvptx-none/lib/
-isystem /nvptx-none/include -isystem /nvptx-none/sys-include
--sysroot=[...]/install/nvptx-none -c -g conftest.c >&5
conftest.c: In function 'main':
conftest.c:16:1: internal compiler error: in
df_live_verify_transfer_functions, at df-problems.c:1849
}
^
0x6d3d8e df_live_verify_transfer_functions()
[...]/source-gcc/gcc/df-problems.c:1848
0x6cb83a df_analyze_1
[...]/source-gcc/gcc/df-core.c:1241
0xd909a0 nvptx_reorg
[...]/source-gcc/gcc/config/nvptx/nvptx.c:2946
0xa50829 execute
[...]/source-gcc/gcc/reorg.c:4034
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
configure:4192: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU Fortran Runtime Library"
| #define PACKAGE_TARNAME "libgfortran"
| #define PACKAGE_VERSION "0.3"
| #define PACKAGE_STRING "GNU Fortran Runtime Library 0.3"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL "http://www.gnu.org/software/libgfortran/"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
Reproduce:
$ echo 'static void foo(void) {}' | build-gcc-accel-nvptx/gcc/xgcc
-Bbuild-gcc-accel-nvptx/gcc/ -S -x c -
<stdin>: In function 'foo':
<stdin>:1:1: internal compiler error: in
df_live_verify_transfer_functions, at df-problems.c:1849
0x6d3d8e df_live_verify_transfer_functions()
[...]/source-gcc/gcc/df-problems.c:1848
0x6cb83a df_analyze_1
[...]/source-gcc/gcc/df-core.c:1241
0xd909a0 nvptx_reorg
[...]/source-gcc/gcc/config/nvptx/nvptx.c:2946
0xa50829 execute
[...]/source-gcc/gcc/reorg.c:4034
Workaround:
gcc/
* df-core.c (df_analyze_1): Disable df_verify call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@225656
138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/ChangeLog.gomp | 4 ++++
gcc/df-core.c | 2 ++
2 files changed, 6 insertions(+)
diff --git gcc/ChangeLog.gomp gcc/ChangeLog.gomp
index c71e396..535900c 100644
--- gcc/ChangeLog.gomp
+++ gcc/ChangeLog.gomp
@@ -1,3 +1,7 @@
+2015-07-10 Thomas Schwinge <[email protected]>
+
+ * df-core.c (df_analyze_1): Disable df_verify call.
+
2015-07-09 Nathan Sidwell <[email protected]>
Infrastructure:
diff --git gcc/df-core.c gcc/df-core.c
index 67040a1..52cca8e 100644
--- gcc/df-core.c
+++ gcc/df-core.c
@@ -1235,10 +1235,12 @@ df_analyze_1 (void)
if (dump_file)
fprintf (dump_file, "df_analyze called\n");
+#if /* TODO */ 0
#ifndef ENABLE_DF_CHECKING
if (df->changeable_flags & DF_VERIFY_SCHEDULED)
#endif
df_verify ();
+#endif
/* Skip over the DF_SCAN problem. */
for (i = 1; i < df->num_problems_defined; i++)
2. Don't be shy to remove a bunch of XFAILs, in fact all :-) of those
remaining from the test cases that Julian had added in
<http://news.gmane.org/find-root.php?message_id=%3C20150617151515.087aa93e%40octopus%3E>.
Unfortunately, there's also one regressions, but I'm seeing it only on
Nvidia K20 hardware, not on my laptop (but it may well be
hardware-dependent: according to a web search, CUDA error 716 translates
to CUDA_ERROR_MISALIGNED_ADDRESS). Are you reproducing that one, and/or
do you have an idea where it's coming from?
Committed to gomp-4_0-branch in r225657:
commit bdecfaf444a5811e5ea2a942e7b98b160d737b7b
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Jul 10 09:02:02 2015 +0000
libgomp: XFAILs update
... after r225647.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Add
XFAIL.
* testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c:
Remove XFAIL.
* testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@225657
138bc75d-0d04-0410-961f-82ee72b054a4
---
libgomp/ChangeLog.gomp | 25 ++++++++++++++++++++
.../libgomp.oacc-c-c++-common/parallel-loop-1.c | 1 +
.../private-vars-local-worker-3.c | 2 --
.../private-vars-local-worker-4.c | 2 --
.../private-vars-local-worker-5.c | 2 --
.../private-vars-loop-gang-2.c | 2 --
.../private-vars-loop-gang-4.c | 3 ---
.../private-vars-loop-gang-5.c | 2 --
.../private-vars-loop-gang-6.c | 2 --
.../private-vars-loop-worker-5.c | 3 ---
.../private-vars-loop-worker-6.c | 2 --
.../private-vars-loop-worker-7.c | 2 --
12 files changed, 26 insertions(+), 22 deletions(-)
diff --git libgomp/ChangeLog.gomp libgomp/ChangeLog.gomp
index 1949d78..6d1c547 100644
--- libgomp/ChangeLog.gomp
+++ libgomp/ChangeLog.gomp
@@ -1,3 +1,28 @@
+2015-07-10 Thomas Schwinge <[email protected]>
+
+ * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Add
+ XFAIL.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c:
+ Remove XFAIL.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c:
+ Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c:
+ Likewise.
+
2015-07-08 James Norris <[email protected]>
* oacc-parallel.c (GOACC_parallel GOACC_data_start): Handle Fortran
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c
libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c
index a1f974d..23a9b23 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-xfail-run-if "cuStreamSynchronize error: unknown result code: 716" {
openacc_nvidia_accel_selected } } */
#include <stdlib.h>
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c
index 6129523..1e67322 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of worker-private variables declared in a local scope, broadcasting
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c
index 4cec00e..120001b 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of worker-private variables declared in a local scope, broadcasting
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c
index efc2206..f849f0c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of worker-private variables declared in a local scope, broadcasting
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c
index 9debf83..3898c0e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of gang-private variables declared on loop directive, with broadcasting
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c
index f0f0477..45714010 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c
@@ -1,6 +1,3 @@
-/* { dg-xfail-if "TODO: ICE" { *-*-* } } */
-/* { dg-excess-errors "TODO" } */
-
#include <assert.h>
/* Test of gang-private addressable variable declared on loop directive, with
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c
index b955303..b070773 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of gang-private array variable declared on loop directive, with
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c
index 0c17eaa..ec74292 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of gang-private aggregate variable declared on loop directive, with
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c
index 741795d..a28105c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c
@@ -1,6 +1,3 @@
-/* { dg-xfail-if "TODO: ICE" { *-*-* } } */
-/* { dg-excess-errors "TODO" } */
-
#include <assert.h>
/* Test of worker-private variables declared on a loop directive, broadcasting
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c
index feba09e..5dde621 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of worker-private variables declared on a loop directive, broadcasting
diff --git
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c
libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c
index 5469c5d..e4d4ccf 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c
@@ -1,5 +1,3 @@
-/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } }
*/
-
#include <assert.h>
/* Test of worker-private variables declared on loop directive, broadcasting
Grüße,
Thomas
signature.asc
Description: PGP signature
