Skip to content

Commit 5c4e5d9

Browse files
authored
[NFC][SYCL][clang-linker-wrapper] Add tests for commands run for syclbin (#20311)
Verify commands that clang-linker-wrapper runs when syclbin is used
1 parent 80eac65 commit 5c4e5d9

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

clang/test/Driver/sycl-linker-wrapper-win.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,15 @@
142142
// CHK-DEVLINK-CMDS-NEXT: "{{.*}}clang.exe"{{.*}} -c -o {{.*}} [[WRAPPEROUT]].bc
143143
// CHK-DEVLINK-CMDS-NEXT: "{{.*}}copy"{{.*}} {{.*}} a.exe
144144
// CHK-DEVLINK-CMDS-NOT: "{{.*}}ld"
145+
146+
// Verify list of commands when syclbin is used
147+
// RUN: clang-linker-wrapper -sycl-device-libraries=%t.devicelib.o -sycl-post-link-options="SYCL_POST_LINK_OPTIONS" --host-triple=x86_64-pc-windows-msvc --linker-path=/usr/bin/ld -o a.exe %t.o --dry-run -syclbin=executable 2>&1 | FileCheck --check-prefix CHK-SYCLBIN-CMDS %s
148+
// CHK-SYCLBIN-CMDS: "{{.*}}spirv-to-ir-wrapper.exe" {{.*}} -o [[FIRSTLLVMLINKIN:.*]].bc --llvm-spirv-opts --spirv-preserve-auxdata --spirv-target-env=SPV-IR --spirv-builtin-format=global
149+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}llvm-link.exe" [[FIRSTLLVMLINKIN]].bc -o [[FIRSTLLVMLINKOUT:.*]].bc --suppress-warnings
150+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}llvm-link.exe" -only-needed [[FIRSTLLVMLINKOUT]].bc {{.*}}.bc -o [[SECONDLLVMLINKOUT:.*]].bc --suppress-warnings
151+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}sycl-post-link.exe" {{.*}} SYCL_POST_LINK_OPTIONS -o [[SYCLPOSTLINKOUT:.*]].table [[SECONDLLVMLINKOUT]].bc
152+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}llvm-spirv.exe" {{.*}} -o {{.*}}
153+
// CHK-SYCLBIN-CMDS-NOT: offload-wrapper: input
154+
// CHK-SYCLBIN-CMDS-NOT: "{{.*}}clang"
155+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}copy" {{.*}}.syclbin a.exe
156+
// CHK-SYCLBIN-CMDS-NOT: "{{.*}}ld"

clang/test/Driver/sycl-linker-wrapper.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,3 +228,15 @@
228228
// CHK-DEVLINK-CMDS-NEXT: "{{.*}}clang"{{.*}} -c -o [[CLANGOUT:.*]] [[WRAPPEROUT]].bc
229229
// CHK-DEVLINK-CMDS-NEXT: "{{.*}}cp"{{.*}} [[CLANGOUT]] a.out
230230
// CHK-DEVLINK-CMDS-NOT: "{{.*}}/ld"
231+
232+
// Verify list of commands when syclbin is used
233+
// RUN: clang-linker-wrapper -sycl-device-libraries=%t.devicelib.o -sycl-post-link-options="SYCL_POST_LINK_OPTIONS" --host-triple=x86_64-unknown-linux-gnu --linker-path=/usr/bin/ld -o a.out %t.o --dry-run -syclbin=executable 2>&1 | FileCheck --check-prefix CHK-SYCLBIN-CMDS %s
234+
// CHK-SYCLBIN-CMDS: "{{.*}}spirv-to-ir-wrapper" {{.*}} -o [[FIRSTLLVMLINKIN:.*]].bc --llvm-spirv-opts --spirv-preserve-auxdata --spirv-target-env=SPV-IR --spirv-builtin-format=global
235+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}llvm-link" [[FIRSTLLVMLINKIN]].bc -o [[FIRSTLLVMLINKOUT:.*]].bc --suppress-warnings
236+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}llvm-link" -only-needed [[FIRSTLLVMLINKOUT]].bc {{.*}}.bc -o [[SECONDLLVMLINKOUT:.*]].bc --suppress-warnings
237+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}sycl-post-link" {{.*}} SYCL_POST_LINK_OPTIONS -o [[SYCLPOSTLINKOUT:.*]].table [[SECONDLLVMLINKOUT]].bc
238+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}llvm-spirv" {{.*}} -o {{.*}}
239+
// CHK-SYCLBIN-CMDS-NOT: offload-wrapper: input
240+
// CHK-SYCLBIN-CMDS-NOT: "{{.*}}clang"
241+
// CHK-SYCLBIN-CMDS-NEXT: "{{.*}}cp" {{.*}}.syclbin a.out
242+
// CHK-SYCLBIN-CMDS-NOT: "{{.*}}ld"

0 commit comments

Comments
 (0)