mirror of git://gcc.gnu.org/git/gcc.git
Also test -O0 for OpenACC C, C++ offloading test cases
libgomp/ * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use gcc-dg-runtest. * testsuite/libgomp.oacc-c/c.exp: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify -fno-builtin-acc_on_device instead of -O0. * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for -O0. * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c: Don't specify -O2. * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c: Likewise. From-SVN: r234471
This commit is contained in:
parent
8a29084dea
commit
6e0df3b7a8
|
|
@ -1,3 +1,39 @@
|
||||||
|
2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
|
||||||
|
|
||||||
|
* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
|
||||||
|
gcc-dg-runtest.
|
||||||
|
* testsuite/libgomp.oacc-c/c.exp: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
|
||||||
|
-fno-builtin-acc_on_device instead of -O0.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
|
||||||
|
-O0.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
|
||||||
|
Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
|
||||||
|
Don't specify -O2.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
|
||||||
|
Likewise.
|
||||||
|
* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
|
||||||
|
Likewise.
|
||||||
|
|
||||||
2016-03-24 Martin Liska <mliska@suse.cz>
|
2016-03-24 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
* plugin/plugin-hsa.c (packet_store_release): New function
|
* plugin/plugin-hsa.c (packet_store_release): New function
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
load_lib libgomp-dg.exp
|
load_lib libgomp-dg.exp
|
||||||
load_gcc_lib gcc-dg.exp
|
load_gcc_lib gcc-dg.exp
|
||||||
|
load_gcc_lib torture-options.exp
|
||||||
|
|
||||||
global shlib_ext
|
global shlib_ext
|
||||||
|
|
||||||
|
|
@ -13,13 +14,9 @@ if [info exists lang_include_flags] then {
|
||||||
unset lang_include_flags
|
unset lang_include_flags
|
||||||
}
|
}
|
||||||
|
|
||||||
# If a testcase doesn't have special options, use these.
|
|
||||||
if ![info exists DEFAULT_CFLAGS] then {
|
|
||||||
set DEFAULT_CFLAGS "-O2"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Initialize dg.
|
# Initialize dg.
|
||||||
dg-init
|
dg-init
|
||||||
|
torture-init
|
||||||
|
|
||||||
# Turn on OpenACC.
|
# Turn on OpenACC.
|
||||||
lappend ALWAYS_CFLAGS "additional_flags=-fopenacc"
|
lappend ALWAYS_CFLAGS "additional_flags=-fopenacc"
|
||||||
|
|
@ -104,7 +101,26 @@ if { $lang_test_file_found } {
|
||||||
|
|
||||||
setenv ACC_DEVICE_TYPE $offload_target_openacc
|
setenv ACC_DEVICE_TYPE $offload_target_openacc
|
||||||
|
|
||||||
dg-runtest $tests "$tagopt" "$libstdcxx_includes $DEFAULT_CFLAGS"
|
# To get better test coverage for device-specific code that is only
|
||||||
|
# ever used in offloading configurations, we'd like more thorough
|
||||||
|
# testing for test cases that deal with offloading, which most of all
|
||||||
|
# OpenACC test cases are. We enable torture testing, but limit it to
|
||||||
|
# -O0 and -O2 only, to avoid testing times exploding too much, under
|
||||||
|
# the assumption that between -O0 and -O[something] there is the
|
||||||
|
# biggest difference in the overall structure of the generated code.
|
||||||
|
switch $offload_target_openacc {
|
||||||
|
host {
|
||||||
|
set-torture-options [list \
|
||||||
|
{ -O2 } ]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
set-torture-options [list \
|
||||||
|
{ -O0 } \
|
||||||
|
{ -O2 } ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gcc-dg-runtest $tests "$tagopt" "$libstdcxx_includes"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -112,4 +128,5 @@ if { $lang_test_file_found } {
|
||||||
set GCC_UNDER_TEST "$SAVE_GCC_UNDER_TEST"
|
set GCC_UNDER_TEST "$SAVE_GCC_UNDER_TEST"
|
||||||
|
|
||||||
# All done.
|
# All done.
|
||||||
|
torture-finish
|
||||||
dg-finish
|
dg-finish
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
/* { dg-additional-options "-O0" } */
|
/* Test the acc_on_device library function. */
|
||||||
|
/* { dg-additional-options "-fno-builtin-acc_on_device" } */
|
||||||
|
|
||||||
#include <openacc.h>
|
#include <openacc.h>
|
||||||
|
|
||||||
/* acc_on_device might not be folded at -O0, but it should work. */
|
|
||||||
|
|
||||||
int main ()
|
int main ()
|
||||||
{
|
{
|
||||||
int dev;
|
int dev;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-additional-options "-O2" } */
|
/* We don't expect this to work with optimizations disabled.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <openacc.h>
|
#include <openacc.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* { dg-additional-options "-O2 -fipa-pta" } */
|
/* { dg-additional-options "-fipa-pta" } */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* { dg-additional-options "-O2 -fipa-pta" } */
|
/* { dg-additional-options "-fipa-pta" } */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* { dg-additional-options "-O2 -fipa-pta" } */
|
/* { dg-additional-options "-fipa-pta" } */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <openacc.h>
|
#include <openacc.h>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2 -fopenacc-dim=16:16" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
/* { dg-additional-options "-fopenacc-dim=16:16" } */
|
||||||
|
|
||||||
#include <openacc.h>
|
#include <openacc.h>
|
||||||
#include <alloca.h>
|
#include <alloca.h>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
/* { dg-do run } */
|
/* This code uses nvptx inline assembly guarded with acc_on_device, which is
|
||||||
/* { dg-additional-options "-O2" } */
|
not optimized away at -O0, and then confuses the target assembler.
|
||||||
|
{ dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,11 @@ if [info exists lang_include_flags] then {
|
||||||
|
|
||||||
load_lib libgomp-dg.exp
|
load_lib libgomp-dg.exp
|
||||||
load_gcc_lib gcc-dg.exp
|
load_gcc_lib gcc-dg.exp
|
||||||
|
load_gcc_lib torture-options.exp
|
||||||
# If a testcase doesn't have special options, use these.
|
|
||||||
if ![info exists DEFAULT_CFLAGS] then {
|
|
||||||
set DEFAULT_CFLAGS "-O2"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Initialize dg.
|
# Initialize dg.
|
||||||
dg-init
|
dg-init
|
||||||
|
torture-init
|
||||||
|
|
||||||
# Turn on OpenACC.
|
# Turn on OpenACC.
|
||||||
lappend ALWAYS_CFLAGS "additional_flags=-fopenacc"
|
lappend ALWAYS_CFLAGS "additional_flags=-fopenacc"
|
||||||
|
|
@ -67,8 +64,28 @@ foreach offload_target_openacc $offload_targets_s_openacc {
|
||||||
|
|
||||||
setenv ACC_DEVICE_TYPE $offload_target_openacc
|
setenv ACC_DEVICE_TYPE $offload_target_openacc
|
||||||
|
|
||||||
dg-runtest $tests "$tagopt" $DEFAULT_CFLAGS
|
# To get better test coverage for device-specific code that is only
|
||||||
|
# ever used in offloading configurations, we'd like more thorough
|
||||||
|
# testing for test cases that deal with offloading, which most of all
|
||||||
|
# OpenACC test cases are. We enable torture testing, but limit it to
|
||||||
|
# -O0 and -O2 only, to avoid testing times exploding too much, under
|
||||||
|
# the assumption that between -O0 and -O[something] there is the
|
||||||
|
# biggest difference in the overall structure of the generated code.
|
||||||
|
switch $offload_target_openacc {
|
||||||
|
host {
|
||||||
|
set-torture-options [list \
|
||||||
|
{ -O2 } ]
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
set-torture-options [list \
|
||||||
|
{ -O0 } \
|
||||||
|
{ -O2 } ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gcc-dg-runtest $tests "$tagopt" ""
|
||||||
}
|
}
|
||||||
|
|
||||||
# All done.
|
# All done.
|
||||||
|
torture-finish
|
||||||
dg-finish
|
dg-finish
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue