|
35 | 35 | // CHK-FPGA-LINK: llvm-spirv{{.*}} "-o" "[[OUTPUT3:.+\.spv]]" "-spirv-max-version=1.1" "-spirv-debug-info-version=legacy" "-spirv-ext=+all,-SPV_INTEL_usm_storage_classes" "[[OUTPUT2]]"
|
36 | 36 | // CHK-FPGA-EARLY: aoc{{.*}} "-o" "[[OUTPUT4:.+\.aocr]]" "[[OUTPUT3]]" "-sycl" "-rtl"
|
37 | 37 | // CHK-FPGA-IMAGE: aoc{{.*}} "-o" "[[OUTPUT5:.+\.aocx]]" "[[OUTPUT3]]" "-sycl"
|
38 |
| -// CHK-FPGA-LINK: llvm-ar{{.*}} "cr" "libfoo.a" "[[INPUT]]" |
| 38 | +// CHK-FPGA-LINK: clang-offload-wrapper{{.*}} "-o=[[WRAPOUT:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" {{.*}} "-kind=sycl" |
| 39 | +// CHK-FPGA-LINK: llc{{.*}} "-o" "[[OBJOUTDEV:.+\.o]]" "[[WRAPOUT]]" |
| 40 | +// CHK-FPGA-EARLY: clang-offload-wrapper{{.*}} "-host" "x86_64-unknown-linux-gnu" "-o" "[[WRAPOUTHOST:.+\.bc]]" "-kind=host" |
| 41 | +// CHK-FPGA-EARLY: clang{{.*}} "-o" "[[OBJOUT:.+\.o]]" {{.*}} "[[WRAPOUTHOST]]" |
| 42 | +// CHK-FPGA-EARLY: llvm-ar{{.*}} "cr" "libfoo.a" "[[OBJOUT]]" "[[OBJOUTDEV]]" |
| 43 | +// CHK-FPGA-IMAGE: llvm-ar{{.*}} "cr" "libfoo.a" "[[INPUT]]" "[[OBJOUTDEV]]" |
39 | 44 |
|
40 | 45 | // Output designation should not be used for unbundling step
|
41 | 46 | // RUN: touch %t.o
|
|
60 | 65 | // CHK-FPGA-LINK-WIN: sycl-post-link{{.*}} "-ir-output-only" "-spec-const=default" "-o" "[[OUTPUT2:.+\.bc]]" "[[OUTPUT2_1]]"
|
61 | 66 | // CHK-FPGA-LINK-WIN: llvm-spirv{{.*}} "-o" "[[OUTPUT3:.+\.spv]]" "-spirv-max-version=1.1" "-spirv-debug-info-version=legacy" "-spirv-ext=+all,-SPV_INTEL_usm_storage_classes" "[[OUTPUT2]]"
|
62 | 67 | // CHK-FPGA-LINK-WIN: aoc{{.*}} "-o" "[[OUTPUT5:.+\.aocr]]" "[[OUTPUT3]]" "-sycl" "-rtl"
|
63 |
| -// CHK-FPGA-LINK-WIN: lib.exe{{.*}} "[[INPUT]]" {{.*}} "-OUT:libfoo.lib" |
| 68 | +// CHK-FPGA-LINK-WIN: clang-offload-wrapper{{.*}} "-o=[[WRAPOUT:.+\.bc]]" {{.*}} "-kind=sycl" |
| 69 | +// CHK-FPGA-LINK-WIN: llc{{.*}} "-o" "[[OBJOUTDEV:.+\.obj]]" "[[WRAPOUT]]" |
| 70 | +// CHK-FPGA-LINK-WIN: clang-offload-wrapper{{.*}} "-o" "[[WRAPOUTHOST:.+\.bc]]" "-kind=host" |
| 71 | +// CHK-FPGA-LINK-WIN: clang{{.*}} "-o" "[[OBJOUT:.+\.obj]]" {{.*}} "[[WRAPOUTHOST]]" |
| 72 | +// CHK-FPGA-LINK-WIN: lib.exe{{.*}} "[[OBJOUT]]" "[[OBJOUTDEV]]" {{.*}} "-OUT:libfoo.lib" |
64 | 73 |
|
65 | 74 | /// Check -fintelfpga -fsycl-link with an FPGA archive
|
66 | 75 | // Create the dummy archive
|
|
83 | 92 | // CHK-FPGA-LINK-LIB-EARLY: clang-offload-wrapper{{.*}} "-host=x86_64-unknown-linux-gnu" "-target=fpga_aocr-intel-unknown-sycldevice" "-kind=sycl" "[[OUTPUT4]]"
|
84 | 93 | // CHK-FPGA-LINK-LIB: llc{{.*}} "-filetype=obj" "-o" "[[OUTPUT5:.+\.o]]"
|
85 | 94 | // CHK-FPGA-LINK-LIB: clang-offload-bundler{{.*}} "-type=aoo" "-targets=host-x86_64-unknown-linux-gnu" "-inputs=[[INPUT]]" "-outputs=[[OUTPUT1:.+\.txt]]" "-unbundle"
|
86 |
| -// CHK-FPGA-LINK-LIB: llvm-ar{{.*}} "cr" {{.*}} "@[[OUTPUT1]]" |
| 95 | +// CHK-FPGA-LINK-LIB-IMAGE: llvm-ar{{.*}} "cr" {{.*}} "@[[OUTPUT1]]" |
87 | 96 |
|
88 | 97 | /// Check the warning's emission for -fsycl-link's appending behavior
|
89 | 98 | // RUN: touch dummy.a
|
|
186 | 195 | /// -fintelfpga -fsycl-link from source
|
187 | 196 | // RUN: touch %t.cpp
|
188 | 197 | // RUN: %clangxx -### -target x86_64-unknown-linux-gnu -fsycl -fno-sycl-device-lib=all -fintelfpga -fsycl-link=early %t.cpp -ccc-print-phases 2>&1 \
|
189 |
| -// RUN: | FileCheck -check-prefixes=CHK-FPGA-LINK-SRC,CHK-FPGA-LINK-SRC-DEFAULT %s |
190 |
| -// RUN: %clang_cl -### -target x86_64-unknown-linux-gnu -fsycl -fno-sycl-device-lib=all -fintelfpga -fsycl-link=early %t.cpp -ccc-print-phases 2>&1 \ |
191 |
| -// RUN: | FileCheck -check-prefixes=CHK-FPGA-LINK-SRC,CHK-FPGA-LINK-SRC-CL %s |
| 198 | +// RUN: | FileCheck -check-prefixes=CHK-FPGA-LINK-SRC %s |
| 199 | +// RUN: %clang_cl -### --target=x86_64-unknown-linux-gnu -fsycl -fno-sycl-device-lib=all -fintelfpga -fsycl-link=early %t.cpp -ccc-print-phases 2>&1 \ |
| 200 | +// RUN: | FileCheck -check-prefixes=CHK-FPGA-LINK-SRC %s |
192 | 201 | // CHK-FPGA-LINK-SRC: 0: input, "[[INPUT:.+\.cpp]]", c++, (host-sycl)
|
193 | 202 | // CHK-FPGA-LINK-SRC: 1: preprocessor, {0}, c++-cpp-output, (host-sycl)
|
194 | 203 | // CHK-FPGA-LINK-SRC: 2: input, "[[INPUT]]", c++, (device-sycl)
|
195 | 204 | // CHK-FPGA-LINK-SRC: 3: preprocessor, {2}, c++-cpp-output, (device-sycl)
|
196 | 205 | // CHK-FPGA-LINK-SRC: 4: compiler, {3}, sycl-header, (device-sycl)
|
197 |
| -// CHK-FPGA-LINK-SRC-DEFAULT: 5: offload, "host-sycl (x86_64-unknown-linux-gnu)" {1}, "device-sycl (spir64_fpga-unknown-unknown-sycldevice)" {4}, c++-cpp-output |
198 |
| -// CHK-FPGA-LINK-SRC-CL: 5: offload, "host-sycl (x86_64-pc-windows-msvc)" {1}, "device-sycl (spir64_fpga-unknown-unknown-sycldevice)" {4}, c++-cpp-output |
| 206 | +// CHK-FPGA-LINK-SRC: 5: offload, "host-sycl (x86_64-unknown-linux-gnu)" {1}, "device-sycl (spir64_fpga-unknown-unknown-sycldevice)" {4}, c++-cpp-output |
199 | 207 | // CHK-FPGA-LINK-SRC: 6: compiler, {5}, ir, (host-sycl)
|
200 | 208 | // CHK-FPGA-LINK-SRC: 7: backend, {6}, assembler, (host-sycl)
|
201 | 209 | // CHK-FPGA-LINK-SRC: 8: assembler, {7}, object, (host-sycl)
|
202 |
| -// CHK-FPGA-LINK-SRC: 9: linker, {8}, archive, (host-sycl) |
203 |
| -// CHK-FPGA-LINK-SRC: 10: compiler, {3}, ir, (device-sycl) |
204 |
| -// CHK-FPGA-LINK-SRC: 11: linker, {10}, ir, (device-sycl) |
205 |
| -// CHK-FPGA-LINK-SRC: 12: sycl-post-link, {11}, ir, (device-sycl) |
206 |
| -// CHK-FPGA-LINK-SRC: 13: llvm-spirv, {12}, spirv, (device-sycl) |
207 |
| -// CHK-FPGA-LINK-SRC: 14: backend-compiler, {13}, fpga_aocr, (device-sycl) |
208 |
| -// CHK-FPGA-LINK-SRC: 15: clang-offload-wrapper, {14}, object, (device-sycl) |
209 |
| -// CHK-FPGA-LINK-SRC-DEFAULT: 16: offload, "host-sycl (x86_64-unknown-linux-gnu)" {9}, "device-sycl (spir64_fpga-unknown-unknown-sycldevice)" {15}, archive |
210 |
| -// CHK-FPGA-LINK-SRC-CL: 16: offload, "host-sycl (x86_64-pc-windows-msvc)" {9}, "device-sycl (spir64_fpga-unknown-unknown-sycldevice)" {15}, archive |
| 210 | +// CHK-FPGA-LINK-SRC: 9: clang-offload-wrapper, {8}, ir, (host-sycl) |
| 211 | +// CHK-FPGA-LINK-SRC: 10: backend, {9}, assembler, (host-sycl) |
| 212 | +// CHK-FPGA-LINK-SRC: 11: assembler, {10}, object, (host-sycl) |
| 213 | +// CHK-FPGA-LINK-SRC: 12: linker, {11}, archive, (host-sycl) |
| 214 | +// CHK-FPGA-LINK-SRC: 13: compiler, {3}, ir, (device-sycl) |
| 215 | +// CHK-FPGA-LINK-SRC: 14: linker, {13}, ir, (device-sycl) |
| 216 | +// CHK-FPGA-LINK-SRC: 15: sycl-post-link, {14}, ir, (device-sycl) |
| 217 | +// CHK-FPGA-LINK-SRC: 16: llvm-spirv, {15}, spirv, (device-sycl) |
| 218 | +// CHK-FPGA-LINK-SRC: 17: backend-compiler, {16}, fpga_aocr, (device-sycl) |
| 219 | +// CHK-FPGA-LINK-SRC: 18: clang-offload-wrapper, {17}, object, (device-sycl) |
| 220 | +// CHK-FPGA-LINK-SRC: 19: offload, "host-sycl (x86_64-unknown-linux-gnu)" {12}, "device-sycl (spir64_fpga-unknown-unknown-sycldevice)" {18}, archive |
211 | 221 |
|
212 | 222 | /// -fintelfpga with -reuse-exe=
|
213 | 223 | // RUN: touch %t.cpp
|
|
0 commit comments