|
10 | 10 | // RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple amdgcn-amd-amdhsa -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-AMDGCN %s
|
11 | 11 | // RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple nvptx-nvidia-cuda -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-NVPTX %s
|
12 | 12 | // RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple nvptx64-nvidia-cuda -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-NVPTX %s
|
13 |
| -// RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple spir-unknown-unknown -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-SPIR %s |
14 | 13 | // RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple spir64-unknown-unknown -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-SPIR %s
|
15 |
| -// RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple spirv32-unknown-unknown -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-SPIR %s |
16 | 14 | // RUN: %clang_cc1 -fsycl-is-device -emit-llvm -aux-triple x86_64-pc-windows-msvc -triple spirv64-unknown-unknown -std=c++17 %s -o - | FileCheck --check-prefixes=CHECK-DEVICE,CHECK-SPIR %s
|
17 | 15 |
|
18 | 16 | // Test the generation of SYCL kernel caller functions. These functions are
|
@@ -91,12 +89,6 @@ int main() {
|
91 | 89 | // CHECK-HOST-WINDOWS-NEXT: }
|
92 | 90 |
|
93 | 91 | // Verify that SYCL kernel caller functions are emitted for each device target.
|
94 |
| -// |
95 |
| -// FIXME: The following set of matches are used to skip over the declaration of |
96 |
| -// main(). main() shouldn't be emitted in device code, but that pruning isn't |
97 |
| -// performed yet. |
98 |
| -// CHECK-DEVICE: Function Attrs: convergent mustprogress noinline norecurse nounwind optnone |
99 |
| -// CHECK-DEVICE-NEXT: define {{[a-z_ ]*}}noundef i32 @main() #0 |
100 | 92 |
|
101 | 93 | // IR for the SYCL kernel caller function generated for
|
102 | 94 | // single_purpose_kernel_task with single_purpose_kernel_name as the SYCL kernel
|
@@ -174,11 +166,11 @@ int main() {
|
174 | 166 | // CHECK-SPIR-NEXT: }
|
175 | 167 | // CHECK-SPIR: define internal spir_func void @_ZZ4mainENKUlT_E_clIiEEDaS_
|
176 | 168 |
|
177 |
| -// CHECK-AMDGCN: #[[AMDGCN_ATTR0]] = { convergent mustprogress noinline norecurse nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" } |
| 169 | +// CHECK-AMDGCN: #[[AMDGCN_ATTR0]] = { convergent mustprogress noinline norecurse nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="0" } |
178 | 170 | // CHECK-AMDGCN: #[[AMDGCN_ATTR1]] = { convergent nounwind }
|
179 | 171 | //
|
180 |
| -// CHECK-NVPTX: #[[NVPTX_ATTR0]] = { convergent mustprogress noinline norecurse nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+ptx32" } |
| 172 | +// CHECK-NVPTX: #[[NVPTX_ATTR0]] = { convergent mustprogress noinline norecurse nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="0" "target-features"="+ptx32" } |
181 | 173 | // CHECK-NVPTX: #[[NVPTX_ATTR1]] = { convergent nounwind }
|
182 | 174 | //
|
183 |
| -// CHECK-SPIR: #[[SPIR_ATTR0]] = { convergent mustprogress noinline norecurse nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" } |
| 175 | +// CHECK-SPIR: #[[SPIR_ATTR0]] = { convergent mustprogress noinline norecurse nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-optlevel"="0" } |
184 | 176 | // CHECK-SPIR: #[[SPIR_ATTR1]] = { convergent nounwind }
|
0 commit comments