|
| 1 | +/// test behaviors of passing a fat static lib with -fno-sycl-rdc on Windows |
| 2 | +// REQUIRES: system-windows |
| 3 | + |
| 4 | +// Build a fat static lib that will be used for all tests |
| 5 | +// RUN: echo "void foo(void) {}" > %t1.cpp |
| 6 | +// RUN: %clangxx -target x86_64-pc-windows-msvc -fsycl %t1.cpp -c -o %t1_bundle.o |
| 7 | +// RUN: llvm-ar cr %t_lib.a %t1_bundle.o |
| 8 | +// RUN: %clang -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=off --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 9 | +// RUN: %clang -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=auto --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 10 | +// RUN: %clang -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=per_kernel --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 11 | +// RUN: %clang -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=per_source --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 12 | +// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=off --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 13 | +// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=auto --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 14 | +// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=per_kernel --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 15 | +// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -fsycl-device-code-split=per_source --sysroot=%S/Inputs/SYCL %t_lib.a 2>&1 -ccc-print-phases | FileCheck %s |
| 16 | +// CHECK: 2: input, "{{.*}}_lib.a", archive |
| 17 | +// CHECK: 3: clang-offload-unbundler, {2}, tempfilelist |
| 18 | +// CHECK: 4: spirv-to-ir-wrapper, {3}, tempfilelist, (device-sycl) |
| 19 | +// CHECK: 5: input, "{{.*}}libsycl-crt{{.*}}", object |
| 20 | +// CHECK: 6: clang-offload-unbundler, {5}, object |
| 21 | +// CHECK: 7: offload, " (spir64-unknown-unknown)" {6}, object |
| 22 | +// CHECK: 68: linker, {7, {{.*}}}, ir, (device-sycl) |
| 23 | +// CHECK: 69: linker, {4, 68}, ir, (device-sycl) |
| 24 | +// CHECK: 70: foreach, {4, 69}, ir, (device-sycl) |
| 25 | +// CHECK: 71: file-table-tform, {4, 70}, tempfilelist, (device-sycl) |
| 26 | +// CHECK: 72: sycl-post-link, {71}, tempfiletable, (device-sycl) |
| 27 | +// CHECK: 73: foreach, {71, 72}, tempfiletable, (device-sycl) |
| 28 | +// CHECK: 74: file-table-tform, {73}, tempfilelist, (device-sycl) |
| 29 | +// CHECK: 75: file-table-tform, {73}, tempfilelist, (device-sycl) |
| 30 | +// CHECK: 76: foreach, {71, 75}, tempfilelist, (device-sycl) |
| 31 | +// CHECK: 77: file-table-tform, {76}, tempfilelist, (device-sycl) |
| 32 | +// CHECK: 78: llvm-spirv, {77}, tempfilelist, (device-sycl) |
| 33 | +// CHECK: 79: file-table-tform, {74, 78}, tempfiletable, (device-sycl) |
| 34 | +// CHECK: 80: clang-offload-wrapper, {79}, object, (device-sycl) |
| 35 | +// CHECK: 81: offload, "host-sycl (x86_64-pc-windows-msvc)" {1}, "device-sycl (spir64-unknown-unknown)" {80}, image |
0 commit comments