Author: Nick Sarnie
Date: 2025-04-03T14:36:46Z
New Revision: 008040482b15aa76699e61e59218e92d3786e17a
URL: 
https://github.com/llvm/llvm-project/commit/008040482b15aa76699e61e59218e92d3786e17a
DIFF: 
https://github.com/llvm/llvm-project/commit/008040482b15aa76699e61e59218e92d3786e17a.diff

LOG: [clang] Add SPIR-V to some OpenMP clang tests (#133503)

Just to get some more coverage.

Some of the behavior might be weird and change in the future, but let's
lock down what happens today to at least prevent regressions.

Signed-off-by: Sarnie, Nick <nick.sar...@intel.com>

Added: 
    

Modified: 
    clang/test/Headers/openmp_device_math_isnan.cpp
    clang/test/OpenMP/declare_variant_construct_codegen_1.c
    clang/test/OpenMP/interop_codegen.cpp
    clang/test/OpenMP/ompx_attributes_codegen.cpp
    clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
    clang/test/OpenMP/target_parallel_no_exceptions.cpp
    clang/test/OpenMP/target_team_variable_codegen.cpp
    clang/test/OpenMP/target_visibility.cpp

Removed: 
    


################################################################################
diff  --git a/clang/test/Headers/openmp_device_math_isnan.cpp 
b/clang/test/Headers/openmp_device_math_isnan.cpp
index a297cfc5b9293..3fd98813f2480 100644
--- a/clang/test/Headers/openmp_device_math_isnan.cpp
+++ b/clang/test/Headers/openmp_device_math_isnan.cpp
@@ -1,18 +1,25 @@
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc 
%s -o %t-ppc-host.bc
+// RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64-nvidia-cuda -emit-llvm-bc 
%s -o %t-ppc-host.bc
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm-bc %s 
-o %t-ppc-host.bc
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple nvptx64-nvidia-cuda -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - | 
FileCheck %s --check-prefix=BOOL_RETURN
+// RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple spirv64 -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64 -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - | 
FileCheck %s --check-prefix=SPIRV_BOOL_RETURN
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple amdgcn-amd-amdhsa -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - | 
FileCheck %s --check-prefix=AMD_BOOL_RETURN_SAFE
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc 
%s -o %t-ppc-host.bc -ffast-math -ffp-contract=fast
+// RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64 -emit-llvm-bc %s -o 
%t-ppc-host.bc -ffast-math -ffp-contract=fast
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm-bc %s 
-o %t-ppc-host.bc -ffast-math -ffp-contract=fast
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple nvptx64-nvidia-cuda -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-ffast-math -ffp-contract=fast | FileCheck %s --check-prefix=BOOL_RETURN
+// RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple spirv64 -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64 -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-ffast-math -ffp-contract=fast | FileCheck %s --check-prefix=SPIRV_BOOL_RETURN
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple amdgcn-amd-amdhsa -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-ffast-math -ffp-contract=fast | FileCheck %s 
--check-prefix=AMD_BOOL_RETURN_FAST
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc 
%s -o %t-ppc-host.bc -DUSE_ISNAN_WITH_INT_RETURN
+// RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64 -emit-llvm-bc %s -o 
%t-ppc-host.bc -DUSE_ISNAN_WITH_INT_RETURN
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm-bc %s 
-o %t-ppc-host.bc -DUSE_ISNAN_WITH_INT_RETURN
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple nvptx64-nvidia-cuda -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-DUSE_ISNAN_WITH_INT_RETURN | FileCheck %s --check-prefix=INT_RETURN
+// RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple spirv64 -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64 -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-DUSE_ISNAN_WITH_INT_RETURN | FileCheck %s --check-prefix=SPIRV_INT_RETURN
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple amdgcn-amd-amdhsa -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-DUSE_ISNAN_WITH_INT_RETURN | FileCheck %s --check-prefix=AMD_INT_RETURN_SAFE
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc 
%s -o %t-ppc-host.bc -ffast-math -ffp-contract=fast -DUSE_ISNAN_WITH_INT_RETURN
 // RUN: %clang_cc1 -x c++ -internal-isystem %S/Inputs/include -fopenmp -triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm-bc %s 
-o %t-ppc-host.bc -ffast-math -ffp-contract=fast -DUSE_ISNAN_WITH_INT_RETURN
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple nvptx64-nvidia-cuda -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-ffast-math -ffp-contract=fast -DUSE_ISNAN_WITH_INT_RETURN | FileCheck %s 
--check-prefix=INT_RETURN
+// RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple spirv64 -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=spirv64 -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-ffast-math -ffp-contract=fast -DUSE_ISNAN_WITH_INT_RETURN | FileCheck %s 
--check-prefix=SPIRV_INT_RETURN
 // RUN: %clang_cc1 -x c++ -include __clang_openmp_device_functions.h 
-internal-isystem %S/../../lib/Headers/openmp_wrappers -internal-isystem 
%S/Inputs/include -fopenmp -triple amdgcn-amd-amdhsa -aux-triple 
powerpc64le-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - 
-ffast-math -ffp-contract=fast -DUSE_ISNAN_WITH_INT_RETURN | FileCheck %s 
--check-prefix=AMD_INT_RETURN_FAST
 // expected-no-diagnostics
 
@@ -23,14 +30,18 @@ double math(float f, double d) {
   // INT_RETURN: call noundef i32 @__nv_isnanf(float
   // AMD_INT_RETURN_SAFE: call i1 @llvm.is.fpclass.f32(float{{.*}}, i32 3)
   // AMD_INT_RETURN_FAST: sitofp i32 {{.*}} to double
+  // SPIRV_INT_RETURN: call spir_func noundef i32 @_Z5isnanf(float
   // BOOL_RETURN: call noundef i32 @__nv_isnanf(float
+  // SPIRV_BOOL_RETURN: call spir_func noundef zeroext i1 @_Z5isnanf(float 
   // AMD_BOOL_RETURN_SAFE: call i1 @llvm.is.fpclass.f32(float{{.*}}, i32 3)
   // AMD_BOOL_RETURN_FAST: icmp ne i32 {{.*}}, 0
   r += std::isnan(f);
   // INT_RETURN: call noundef i32 @__nv_isnand(double
+  // SPIRV_INT_RETURN: call spir_func noundef i32 @_Z5isnand(double
   // AMD_INT_RETURN_SAFE: call i1 @llvm.is.fpclass.f64(double{{.*}}, i32 3)
   // AMD_INT_RETURN_FAST: sitofp i32 {{.*}} to double
   // BOOL_RETURN: call noundef i32 @__nv_isnand(double
+  // SPIRV_BOOL_RETURN: call spir_func noundef zeroext i1 @_Z5isnand(double
   // AMD_BOOL_RETURN_SAFE: call i1 @llvm.is.fpclass.f64(double{{.*}}, i32 3)
   // AMD_BOOL_RETURN_FAST: icmp ne i32 {{.*}}, 0
   r += std::isnan(d);

diff  --git a/clang/test/OpenMP/declare_variant_construct_codegen_1.c 
b/clang/test/OpenMP/declare_variant_construct_codegen_1.c
index 3cd1ed8dbb320..5e659f05773d1 100644
--- a/clang/test/OpenMP/declare_variant_construct_codegen_1.c
+++ b/clang/test/OpenMP/declare_variant_construct_codegen_1.c
@@ -7,6 +7,7 @@
 // RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux -emit-pch 
-o %t -fopenmp-version=45 %s
 // RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux 
-include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s 
--check-prefix=CK1
 // RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s 
--check-prefix=CK1
+// RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s --check-prefix=CK1
 // RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s 
--check-prefix=CK1
 // RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-pch -o %t %s
 // RUN: %clang_cc1 -DCK1 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -include-pch %t -verify %s -emit-llvm -o - | 
FileCheck %s --check-prefix=CK1
@@ -15,6 +16,7 @@
 // RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-emit-pch -o %t -fopenmp-version=45 %s
 // RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
+// RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-pch -o %t %s
 // RUN: %clang_cc1 -DCK1 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -include-pch %t -verify %s -emit-llvm -o - | 
FileCheck %s --implicit-check-not="{{__kmpc|__tgt}}"
@@ -90,6 +92,7 @@ int test(void) {
 // RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux -emit-pch 
-o %t -fopenmp-version=45 %s
 // RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux 
-include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s 
--check-prefix=CK2
 // RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s 
--check-prefix=CK2
+// RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s --check-prefix=CK2
 // RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s 
--check-prefix=CK2
 // RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-pch -o %t %s
 // RUN: %clang_cc1 -DCK2 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -include-pch %t -verify %s -emit-llvm -o - | 
FileCheck %s --check-prefix=CK2
@@ -195,6 +198,7 @@ void test(int ***v1, int ***v2, int ***v3, int n) {
 // RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-emit-pch -o %t -fopenmp-version=45 %s
 // RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
+// RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-pch -o %t %s
 // RUN: %clang_cc1 -DCK3 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -include-pch %t -verify %s -emit-llvm -o - | 
FileCheck %s --implicit-check-not="{{__kmpc|__tgt}}"
@@ -252,6 +256,7 @@ void test(void) {
 // RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux -emit-pch 
-o %t -fopenmp-version=45 %s
 // RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux 
-include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s 
--check-prefix=CK4
 // RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s 
--check-prefix=CK4
+// RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s --check-prefix=CK4
 // RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s 
--check-prefix=CK4
 // RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-pch -o %t %s
 // RUN: %clang_cc1 -DCK4 -fopenmp -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -include-pch %t -verify %s -emit-llvm -o - | 
FileCheck %s --check-prefix=CK4
@@ -260,6 +265,7 @@ void test(void) {
 // RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-emit-pch -o %t -fopenmp-version=45 %s
 // RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-include-pch %t -verify %s -emit-llvm -o - -fopenmp-version=45 | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
+// RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s 
--implicit-check-not="{{__kmpc|__tgt}}"
 // RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-pch -o %t %s
 // RUN: %clang_cc1 -DCK4 -fopenmp-simd -x c -triple x86_64-unknown-linux 
-fopenmp-targets=amdgcn-amd-amdhsa -include-pch %t -verify %s -emit-llvm -o - | 
FileCheck %s --implicit-check-not="{{__kmpc|__tgt}}"

diff  --git a/clang/test/OpenMP/interop_codegen.cpp 
b/clang/test/OpenMP/interop_codegen.cpp
index 31df2f1ba58c5..1d0b56da6ff0b 100644
--- a/clang/test/OpenMP/interop_codegen.cpp
+++ b/clang/test/OpenMP/interop_codegen.cpp
@@ -1,6 +1,7 @@
 // expected-no-diagnostics
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -o - | FileCheck %s
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -o - | FileCheck %s
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=spirv64 -emit-llvm %s -o - | FileCheck %s
 // RUN: %clang_cc1  -verify -fopenmp -x c++ -std=c++11 -triple 
powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu 
-emit-llvm %s -o - | FileCheck %s
 
 #ifndef HEADER

diff  --git a/clang/test/OpenMP/ompx_attributes_codegen.cpp 
b/clang/test/OpenMP/ompx_attributes_codegen.cpp
index d68f00a81335c..8b4e38600d41b 100644
--- a/clang/test/OpenMP/ompx_attributes_codegen.cpp
+++ b/clang/test/OpenMP/ompx_attributes_codegen.cpp
@@ -6,18 +6,24 @@
 // RUN: %clang_cc1 -target-cpu gfx900 -fopenmp -x c++ -std=c++11 -triple 
amdgcn-amd-amdhsa -fopenmp-targets=amdgcn-amd-amdhsa -dwarf-version=5 
-emit-llvm %s -fopenmp-is-target-device -fopenmp-host-ir-file-path 
%t-ppc-host.bc -o - | FileCheck %s --check-prefix=AMD
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple nvptx64 
-fopenmp-targets=nvptx64 -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s 
--check-prefix=NVIDIA
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple nvptx64 
-fopenmp-targets=nvptx64 -emit-llvm %s -fopenmp-is-target-device 
-dwarf-version=5 -fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s 
--check-prefix=NVIDIA
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple spirv64 
-fopenmp-targets=spirv64 -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s 
--check-prefix=SPIRV
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple spirv64 
-fopenmp-targets=spirv64 -emit-llvm %s -fopenmp-is-target-device 
-dwarf-version=5 -fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s 
--check-prefix=SPIRV
 // expected-no-diagnostics
 
 
 // Check that the target attributes are set on the generated kernel
 void func() {
-  // AMD: amdgpu_kernel void @__omp_offloading[[HASH:.*]]_l22(ptr {{[^,]+}}) #0
-  // AMD: amdgpu_kernel void @__omp_offloading[[HASH:.*]]_l24(ptr {{[^,]+}})
-  // AMD: amdgpu_kernel void @__omp_offloading[[HASH:.*]]_l26(ptr {{[^,]+}}) #4
+  // AMD: amdgpu_kernel void @__omp_offloading[[HASH:.*]]_l28(ptr {{[^,]+}}) #0
+  // AMD: amdgpu_kernel void @__omp_offloading[[HASH:.*]]_l30(ptr {{[^,]+}})
+  // AMD: amdgpu_kernel void @__omp_offloading[[HASH:.*]]_l32(ptr {{[^,]+}}) #4
 
-  // NVIDIA: ptx_kernel void @__omp_offloading[[HASH:.*]]_l22(ptr {{[^,]+}}) 
#[[ATTR0:[0-9]+]]
-  // NVIDIA: ptx_kernel void @__omp_offloading[[HASH:.*]]_l24(ptr {{[^,]+}}) 
#[[ATTR1:[0-9]+]]
-  // NVIDIA: ptx_kernel void @__omp_offloading[[HASH:.*]]_l26(ptr {{[^,]+}}) 
#[[ATTR2:[0-9]+]]
+  // NVIDIA: ptx_kernel void @__omp_offloading[[HASH:.*]]_l28(ptr {{[^,]+}}) 
#[[ATTR0:[0-9]+]]
+  // NVIDIA: ptx_kernel void @__omp_offloading[[HASH:.*]]_l30(ptr {{[^,]+}}) 
#[[ATTR1:[0-9]+]]
+  // NVIDIA: ptx_kernel void @__omp_offloading[[HASH:.*]]_l32(ptr {{[^,]+}}) 
#[[ATTR2:[0-9]+]]
+
+  // SPIRV: spir_kernel void @__omp_offloading[[HASH:.*]]_l28(ptr {{[^,]+}}) #0
+  // SPIRV: spir_kernel void @__omp_offloading[[HASH:.*]]_l30(ptr {{[^,]+}})
+  // SPIRV: spir_kernel void @__omp_offloading[[HASH:.*]]_l32(ptr {{[^,]+}}) #4
 
   #pragma omp target ompx_attribute([[clang::amdgpu_flat_work_group_size(10, 
20)]])
   {}
@@ -28,6 +34,14 @@ void func() {
   {}
 }
 
+// SPIRV: attributes #0
+// SPIRV-SAME: "nvvm.maxntid"="20"
+// SPIRV-SAME: "omp_target_thread_limit"="20" 
+// SPIRV: attributes #4
+// SPIRV-SAME: "amdgpu-waves-per-eu"="3,7"
+// SPIRV-SAME: "nvvm.maxntid"="17"
+// SPIRV-SAME: "omp_target_thread_limit"="17"
+
 // AMD: attributes #0
 // AMD-SAME: "amdgpu-flat-work-group-size"="10,20"
 // AMD-SAME: "omp_target_thread_limit"="20"

diff  --git a/clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp 
b/clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
index 613b21ff7f75f..bbbacea2d3fc3 100644
--- a/clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
+++ b/clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
@@ -4,6 +4,8 @@
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=nvptx64 -emit-llvm-bc %s -o %t-ppc-host.bc
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple nvptx64 
-fopenmp-targets=nvptx64 -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s 
 // RUN: %clang_cc1 -target-cpu sm_80 -fopenmp -x c++ -std=c++11 -triple 
nvptx64 -fopenmp-targets=nvptx64 -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=spirv64 -emit-llvm-bc %s -o %t-ppc-host.bc
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple spirv64 
-fopenmp-targets=spirv64 -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s 
 
 // expected-no-diagnostics
 

diff  --git a/clang/test/OpenMP/target_parallel_no_exceptions.cpp 
b/clang/test/OpenMP/target_parallel_no_exceptions.cpp
index 82fcc1700b7cc..5fcb389cc1606 100644
--- a/clang/test/OpenMP/target_parallel_no_exceptions.cpp
+++ b/clang/test/OpenMP/target_parallel_no_exceptions.cpp
@@ -2,6 +2,7 @@
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple 
powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc 
%s -o %t-ppc-host.bc
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple nvptx64-unknown-unknown 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s --check-prefix 
CHK-EXCEPTION
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s --check-prefix 
CHK-EXCEPTION
+// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown 
-fopenmp-targets=spirv64 -emit-llvm %s -fopenmp-is-target-device 
-fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s --check-prefix 
CHK-EXCEPTION
 
 void test_increment() {
 #pragma omp target

diff  --git a/clang/test/OpenMP/target_team_variable_codegen.cpp 
b/clang/test/OpenMP/target_team_variable_codegen.cpp
index c7d86edef3074..281036cf703be 100644
--- a/clang/test/OpenMP/target_team_variable_codegen.cpp
+++ b/clang/test/OpenMP/target_team_variable_codegen.cpp
@@ -9,6 +9,9 @@
 // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple powerpc64le-unknown-unknown 
-fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc %s -o %t-ppc-host-nvidia.bc
 // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple nvptx64-unknown-unknown 
-fopenmp-targets=nvptx64-unknown-unknown -emit-llvm %s -fopenmp-target-debug 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host-nvidia.bc -o - 
| FileCheck %s --check-prefix=CHECK-NVIDIA
 
+// RUN: %clang_cc1 -verify -fopenmp -x c++ -triple powerpc64le-unknown-unknown 
-fopenmp-targets=spirv64 -emit-llvm-bc %s -o %t-ppc-host-spirv.bc
+// RUN: %clang_cc1 -verify -fopenmp -x c++ -triple spirv64-unknown-unknown 
-fopenmp-targets=spirv64 -emit-llvm %s -fopenmp-target-debug 
-fopenmp-is-target-device -fopenmp-host-ir-file-path %t-ppc-host-spirv.bc -o - 
| FileCheck %s --check-prefix=CHECK-SPIRV
+
 // expected-no-diagnostics
 
 #ifndef HEADER
@@ -50,3 +53,4 @@ int main()
 //// NOTE: These prefixes are unused and the list is autogenerated. Do not add 
tests below this line:
 // CHECK-AMD: {{.*}}
 // CHECK-NVIDIA: {{.*}}
+// CHECK-SPIRV: {{.*}}

diff  --git a/clang/test/OpenMP/target_visibility.cpp 
b/clang/test/OpenMP/target_visibility.cpp
index 2554f653170b9..b30f4e7ffd3c5 100644
--- a/clang/test/OpenMP/target_visibility.cpp
+++ b/clang/test/OpenMP/target_visibility.cpp
@@ -1,5 +1,6 @@
 // RUN: %clang_cc1 -debug-info-kind=limited -verify -fopenmp -x c++ -triple 
nvptx64-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s 
-fopenmp-is-target-device -o - | FileCheck %s
 // RUN: %clang_cc1 -debug-info-kind=limited -verify -fopenmp -x c++ -triple 
amdgcn-amd-amdhsa -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm %s 
-fopenmp-is-target-device -o - | FileCheck %s
+// RUN: %clang_cc1 -debug-info-kind=limited -verify -fopenmp -x c++ -triple 
spirv64 -fopenmp-targets=spirv64 -emit-llvm %s -fopenmp-is-target-device -o - | 
FileCheck %s
 // expected-no-diagnostics
 
 
@@ -29,7 +30,7 @@ void B::sbar() { A::sfoo(); }
 
 // CHECK-DAG: @x = hidden{{.*}} constant i32 0
 // CHECK-DAG: @y = protected{{.*}} i32 0
-// CHECK-DAG: define hidden void @_ZN1B4sbarEv()
-// CHECK-DAG: define linkonce_odr hidden void @_ZN1A4sfooEv()
-// CHECK-DAG: define hidden void @_ZN1B3barEv(
-// CHECK-DAG: define linkonce_odr hidden void @_ZN1A3fooEv(
+// CHECK-DAG: define hidden{{.*}} void @_ZN1B4sbarEv()
+// CHECK-DAG: define linkonce_odr hidden{{.*}} void @_ZN1A4sfooEv()
+// CHECK-DAG: define hidden{{.*}} void @_ZN1B3barEv(
+// CHECK-DAG: define linkonce_odr hidden{{.*}}void @_ZN1A3fooEv(


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to