[gcc r17-2783] OpenMP: Constructors and destructors for "declare target" static aggregates: Simplify offload tree d
Thomas Schwinge via Gcc-cvs <[email protected]> Wed, 29 Jul 2026 10:07:47 +0000 (GMT)
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:449f8aaf4288aca2c5d2464c5f2123313d476f4f commit r17-2783-g449f8aaf4288aca2c5d2464c5f2123313d476f4f Author: Thomas Schwinge <[email protected]> Date: Mon Jul 27 18:23:49 2026 +0200 OpenMP: Constructors and destructors for "declare target" static aggregates: Simplify offload tree dump scanning in test cases The tests added in commit f1bfba3a9b3f31e3e06bfd1911c9f223869ea03f 'OpenMP: Constructors and destructors for "declare target" static aggregates' carefully distinguish between AMD and NVIDIA GPU offloading compilations' offload tree dump scanning -- but do exactly the same for both. (As expected.) Therefore, no reason to duplicate these directives. libgomp/ * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: Simplify offload tree dump scanning. * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C: Likewise. * testsuite/libgomp.c-c++-common/target-is-initial-host-2.c: Likewise. * testsuite/libgomp.c-c++-common/target-is-initial-host.c: Likewise. * testsuite/libgomp.fortran/target-is-initial-host-2.f90: Likewise. * testsuite/libgomp.fortran/target-is-initial-host.f: Likewise. * testsuite/libgomp.fortran/target-is-initial-host.f90: Likewise. Diff: --- .../testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C | 8 +++----- .../testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C | 8 +++----- libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c | 5 ++--- libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c | 5 ++--- libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90 | 5 ++--- libgomp/testsuite/libgomp.fortran/target-is-initial-host.f | 5 ++--- libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90 | 5 ++--- 7 files changed, 16 insertions(+), 25 deletions(-) diff --git a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C index 2da754879f02..ce0cb970ec2e 100644 --- a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C +++ b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C @@ -1,6 +1,6 @@ // { dg-do run } // { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } -// { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } +// { dg-additional-options -foffload-options=-fdump-tree-optimized } // { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } // { dg-final { scan-tree-dump-times "_GLOBAL__off_I_v1" 1 "gimple" } } @@ -22,10 +22,8 @@ // { dg-final { scan-tree-dump-times "void _GLOBAL__off_I_v1" 1 "optimized" { target offload_target_any } } } // { dg-final { scan-tree-dump-times "__attribute__\\(\\(\[^\n\r]*omp declare target nohost" 1 "optimized" { target offload_target_any } } } -// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_amdgcn } } } -// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_amdgcn } } } -// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_nvptx } } } -// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_nvptx } } } +// { dg-final { scan-offload-tree-dump-not "omp_initial_device;" "optimized" } } +// { dg-final { scan-offload-tree-dump "v1\\._x = 5;" "optimized" } } // { dg-additional-options "-Wno-deprecated-openmp" } #include <cassert> #include <omp.h> diff --git a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C index 1aab931920f2..f939445afa98 100644 --- a/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C +++ b/libgomp/testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C @@ -1,6 +1,6 @@ // { dg-do run } // { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } -// { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } +// { dg-additional-options -foffload-options=-fdump-tree-optimized } // { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } // { dg-final { scan-tree-dump-times "_GLOBAL__off_I_v1" 1 "gimple" } } @@ -23,10 +23,8 @@ // { dg-final { scan-tree-dump-times "__attribute__\\(\\(\[^\n\r]*omp declare target nohost" 1 "optimized" { target offload_target_any } } } -// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_amdgcn } } } -// { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_amdgcn } } } -// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_initial_device;" "optimized" { target offload_target_nvptx } } } -// { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump "v1\\._x = 5;" "optimized" { target offload_target_nvptx } } } +// { dg-final { scan-offload-tree-dump-not "omp_initial_device;" "optimized" } } +// { dg-final { scan-offload-tree-dump "v1\\._x = 5;" "optimized" } } // { dg-additional-options "-Wno-deprecated-openmp" } #include <cassert> diff --git a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c index eabc394c8cf8..2e2b205380c9 100644 --- a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c +++ b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host-2.c @@ -4,14 +4,13 @@ /* Check whether 'omp_is_initial_device()' is NOT compile-time optimized. */ /* { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } */ -/* { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } */ +/* { dg-additional-options -foffload-options=-fdump-tree-optimized } */ /* { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } */ /* { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "optimized" } } */ -/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_amdgcn } } } */ -/* { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_nvptx } } } */ +/* { dg-final { scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" } } */ #include <omp.h> diff --git a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c index 3b1283a59798..fb8038954fc6 100644 --- a/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c +++ b/libgomp/testsuite/libgomp.c-c++-common/target-is-initial-host.c @@ -3,14 +3,13 @@ /* Check whether 'omp_is_initial_device()' is properly compile-time optimized. */ /* { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } */ -/* { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } */ +/* { dg-additional-options -foffload-options=-fdump-tree-optimized } */ /* { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } */ /* { dg-final { scan-tree-dump-not "omp_is_initial_device" "optimized" } } */ -/* { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_amdgcn } } } */ -/* { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_nvptx } } } */ +/* { dg-final { scan-offload-tree-dump-not "omp_is_initial_device" "optimized" } } */ #include <omp.h> diff --git a/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90 b/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90 index 56521044eb6b..7035c4458f0f 100644 --- a/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90 +++ b/libgomp/testsuite/libgomp.fortran/target-is-initial-host-2.f90 @@ -3,14 +3,13 @@ ! Check whether 'omp_is_initial_device()' is NOT compile-time optimized. */ ! { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } -! { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } +! { dg-additional-options -foffload-options=-fdump-tree-optimized } ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "optimized" } } -! { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_amdgcn } } } -! { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" { target offload_target_nvptx } } } +! { dg-final { scan-offload-tree-dump-times "omp_is_initial_device" 1 "optimized" } } program main diff --git a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f index 34b327e39012..ca34a1357c03 100644 --- a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f +++ b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f @@ -1,14 +1,13 @@ ! Check whether 'omp_is_initial_device()' is properly compile-time optimized. */ ! { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } -! { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } +! { dg-additional-options -foffload-options=-fdump-tree-optimized } ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } ! { dg-final { scan-tree-dump-not "omp_is_initial_device" "optimized" } } -! { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_amdgcn } } } -! { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_nvptx } } } +! { dg-final { scan-offload-tree-dump-not "omp_is_initial_device" "optimized" } } program main diff --git a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90 b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90 index bed99635d428..b26aba13e932 100644 --- a/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90 +++ b/libgomp/testsuite/libgomp.fortran/target-is-initial-host.f90 @@ -1,14 +1,13 @@ ! Check whether 'omp_is_initial_device()' is properly compile-time optimized. */ ! { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } -! { dg-additional-options -foffload-options=-fdump-tree-optimized { target { offload_target_nvptx || offload_target_amdgcn } } } +! { dg-additional-options -foffload-options=-fdump-tree-optimized } ! { dg-final { scan-tree-dump-times "omp_is_initial_device" 1 "gimple" } } ! { dg-final { scan-tree-dump-not "omp_is_initial_device" "optimized" } } -! { dg-final { only_for_offload_target amdgcn-amdhsa scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_amdgcn } } } -! { dg-final { only_for_offload_target nvptx-none scan-offload-tree-dump-not "omp_is_initial_device" "optimized" { target offload_target_nvptx } } } +! { dg-final { scan-offload-tree-dump-not "omp_is_initial_device" "optimized" } } program main