Hi! On Thu, 09 Jul 2015 20:25:22 -0400, Nathan Sidwell <nat...@acm.org> 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 <tho...@codesourcery.com> + + * df-core.c (df_analyze_1): Disable df_verify call. + 2015-07-09 Nathan Sidwell <nat...@codesourcery.com> 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 <tho...@codesourcery.com> + + * 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 <jnor...@codesourcery.com> * 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