Skip to content

Commit f74664a

Browse files
authored
[Driver][NFC] Refactor large SYCL offloading test to be more managable (#7193)
The sycl-offload.c test was quite large. Break down this test to to additional files, parceling out AOT testing and specific -fsycl-(link|add)-target tests.
1 parent 599b1b9 commit f74664a

File tree

3 files changed

+519
-525
lines changed

3 files changed

+519
-525
lines changed
Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
///
2+
/// Perform several driver tests for SYCL offloading using -fsycl-link-targets
3+
/// and -fsycl-add-targets
4+
///
5+
6+
/// Check whether an invalid SYCL target is specified:
7+
// RUN: %clang -### -fsycl -fsycl-add-targets=dummy-target:dummy-file %s 2>&1 \
8+
// RUN: | FileCheck -check-prefix=CHK-INVALID-TARGET-ADD %s
9+
// RUN: %clang_cl -### -fsycl -fsycl-add-targets=dummy-target:dummy-file %s 2>&1 \
10+
// RUN: | FileCheck -check-prefix=CHK-INVALID-TARGET-ADD %s
11+
// CHK-INVALID-TARGET-ADD: error: SYCL target is invalid: 'dummy-target'
12+
13+
/// Check error for no -fsycl option
14+
// RUN: %clang -### -fsycl-link-targets=spir64-unknown-unknown %s 2>&1 \
15+
// RUN: | FileCheck -check-prefix=CHK-NO-FSYCL-LINK-TGTS %s
16+
// CHK-NO-FSYCL-LINK-TGTS: error: '-fsycl-link-targets' must be used in conjunction with '-fsycl' to enable offloading
17+
18+
// RUN: %clang -### -fsycl-add-targets=spir64-unknown-unknown %s 2>&1 \
19+
// RUN: | FileCheck -check-prefix=CHK-NO-FSYCL-ADD %s
20+
// CHK-NO-FSYCL-ADD: error: '-fsycl-add-targets' must be used in conjunction with '-fsycl' to enable offloading
21+
22+
/// Check error for -fsycl-add-targets -fsycl-link-targets conflict
23+
// RUN: %clang -### -fsycl-link-targets=spir64-unknown-unknown -fsycl-add-targets=spir64:dummy.spv -fsycl %s 2>&1 \
24+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADD-LINK %s
25+
// RUN: %clang_cl -### -fsycl-link-targets=spir64-unknown-unknown -fsycl-add-targets=spir64:dummy.spv -fsycl %s 2>&1 \
26+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADD-LINK %s
27+
// CHK-SYCL-ADD-LINK: error: The option -fsycl-link-targets= conflicts with -fsycl-add-targets=
28+
29+
/// Check error for -fsycl-targets -fsycl-link-targets conflict
30+
// RUN: %clang -### -fsycl-link-targets=spir64-unknown-unknown -fsycl-targets=spir64-unknown-unknown -fsycl %s 2>&1 \
31+
// RUN: | FileCheck -check-prefix=CHK-SYCL-LINK-CONFLICT %s
32+
// RUN: %clang_cl -### -fsycl-link-targets=spir64-unknown-unknown -fsycl-targets=spir64-unknown-unknown -fsycl %s 2>&1 \
33+
// RUN: | FileCheck -check-prefix=CHK-SYCL-LINK-CONFLICT %s
34+
// CHK-SYCL-LINK-CONFLICT: error: The option -fsycl-targets= conflicts with -fsycl-link-targets=
35+
36+
/// Check error for -fsycl-[add|link]-targets with bad triple
37+
// RUN: %clang -### -fsycl-add-targets=spir64_bad-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
38+
// RUN: | FileCheck -check-prefix=CHK-SYCL-FPGA-BAD-ADDLINK-TRIPLE %s
39+
// RUN: %clang_cl -### -fsycl-add-targets=spir64_bad-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
40+
// RUN: | FileCheck -check-prefix=CHK-SYCL-FPGA-BAD-ADDLINK-TRIPLE %s
41+
// RUN: %clang -### -fsycl-link-targets=spir64_bad-unknown-unknown -fsycl %s 2>&1 \
42+
// RUN: | FileCheck -check-prefix=CHK-SYCL-FPGA-BAD-ADDLINK-TRIPLE %s
43+
// RUN: %clang_cl -### -fsycl-link-targets=spir64_bad-unknown-unknown -fsycl %s 2>&1 \
44+
// RUN: | FileCheck -check-prefix=CHK-SYCL-FPGA-BAD-ADDLINK-TRIPLE %s
45+
// CHK-SYCL-FPGA-BAD-ADDLINK-TRIPLE: error: SYCL target is invalid: 'spir64_bad-unknown-unknown'
46+
47+
/// Check no error for -fsycl-[add|link]-targets with good triple
48+
// RUN: %clang -### -fsycl-add-targets=spir64-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
49+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
50+
// RUN: %clang_cl -### -fsycl-add-targets=spir64-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
51+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
52+
// RUN: %clang -### -fsycl-add-targets=spir64_gen-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
53+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
54+
// RUN: %clang -### -fsycl-add-targets=spir64_fpga-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
55+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
56+
// RUN: %clang -### -fsycl-add-targets=spir64_x86_64-unknown-unknown:dummy.spv -fsycl %s 2>&1 \
57+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
58+
// RUN: %clang -### -fsycl-link-targets=spir64-unknown-unknown -fsycl %s 2>&1 \
59+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
60+
// RUN: %clang_cl -### -fsycl-link-targets=spir64-unknown-unknown -fsycl %s 2>&1 \
61+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
62+
// RUN: %clang -### -fsycl-link-targets=spir64_gen-unknown-unknown -fsycl %s 2>&1 \
63+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
64+
// RUN: %clang -### -fsycl-link-targets=spir64_fpga-unknown-unknown -fsycl %s 2>&1 \
65+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
66+
// RUN: %clang -### -fsycl-link-targets=spir64_x86_64-unknown-unknown -fsycl %s 2>&1 \
67+
// RUN: | FileCheck -check-prefix=CHK-SYCL-ADDLINK-TRIPLE %s
68+
// CHK-SYCL-ADDLINK-TRIPLE-NOT: error: SYCL target is invalid
69+
70+
/// Check -fsycl-link-targets=<triple> behaviors unbundle
71+
// RUN: touch %t.o
72+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-link-targets=spir64-unknown-unknown %t.o 2>&1 \
73+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS-UB %s
74+
// RUN: %clang_cl -### -ccc-print-phases --target=x86_64-pc-windows-msvc -fsycl -o %t.out -fsycl-link-targets=spir64-unknown-unknown %t.o 2>&1 \
75+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS-UB %s
76+
// CHK-LINK-TARGETS-UB: 0: input, "[[INPUT:.+\.o]]", object
77+
// CHK-LINK-TARGETS-UB: 1: clang-offload-unbundler, {0}, object
78+
// CHK-LINK-TARGETS-UB: 2: linker, {1}, image, (device-sycl)
79+
// CHK-LINK-TARGETS-UB: 3: llvm-spirv, {2}, image, (device-sycl)
80+
// CHK-LINK-TARGETS-UB: 4: offload, "device-sycl (spir64-unknown-unknown)" {3}, image
81+
82+
/// Check -fsycl-link-targets=<triple> behaviors unbundle multiple objects
83+
// RUN: touch %t-a.o
84+
// RUN: touch %t-b.o
85+
// RUN: touch %t-c.o
86+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-link-targets=spir64-unknown-unknown %t-a.o %t-b.o %t-c.o 2>&1 \
87+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS-UB2 %s
88+
// RUN: %clang_cl -### -ccc-print-phases --target=x86_64-pc-windws-msvc -fsycl -o %t.out -fsycl-link-targets=spir64-unknown-unknown %t-a.o %t-b.o %t-c.o 2>&1 \
89+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS-UB2 %s
90+
// CHK-LINK-TARGETS-UB2: 0: input, "[[INPUT:.+\a.o]]", object
91+
// CHK-LINK-TARGETS-UB2: 1: clang-offload-unbundler, {0}, object
92+
// CHK-LINK-TARGETS-UB2: 2: input, "[[INPUT:.+\b.o]]", object
93+
// CHK-LINK-TARGETS-UB2: 3: clang-offload-unbundler, {2}, object
94+
// CHK-LINK-TARGETS-UB2: 4: input, "[[INPUT:.+\c.o]]", object
95+
// CHK-LINK-TARGETS-UB2: 5: clang-offload-unbundler, {4}, object
96+
// CHK-LINK-TARGETS-UB2: 6: linker, {1, 3, 5}, image, (device-sycl)
97+
// CHK-LINK-TARGETS-UB2: 7: llvm-spirv, {6}, image, (device-sycl)
98+
// CHK-LINK-TARGETS-UB2: 8: offload, "device-sycl (spir64-unknown-unknown)" {7}, image
99+
100+
/// Check -fsycl-link-targets=<triple> behaviors from source
101+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-link-targets=spir64-unknown-unknown %s 2>&1 \
102+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS %s -DSUBARCH=
103+
// RUN: %clang_cl -### -ccc-print-phases --target=x86_64-pc-windows-msvc -fsycl -o %t.out -fsycl-link-targets=spir64-unknown-unknown %s 2>&1 \
104+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS %s -DSUBARCH=
105+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-link-targets=spir64_gen-unknown-unknown %s 2>&1 \
106+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS %s -DSUBARCH=_gen
107+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-link-targets=spir64_fpga-unknown-unknown %s 2>&1 \
108+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS %s -DSUBARCH=_fpga
109+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-link-targets=spir64_x86_64-unknown-unknown %s 2>&1 \
110+
// RUN: | FileCheck -check-prefix=CHK-LINK-TARGETS %s -DSUBARCH=_x86_64
111+
// CHK-LINK-TARGETS: 0: input, "[[INPUT:.+\.cpp]]", c++, (device-sycl)
112+
// CHK-LINK-TARGETS: 1: preprocessor, {0}, c++-cpp-output, (device-sycl)
113+
// CHK-LINK-TARGETS: 2: compiler, {1}, ir, (device-sycl)
114+
// CHK-LINK-TARGETS: 3: linker, {2}, image, (device-sycl)
115+
// CHK-LINK-TARGETS: 4: llvm-spirv, {3}, image, (device-sycl)
116+
// CHK-LINK-TARGETS: 5: offload, "device-sycl (spir64[[SUBARCH]]-unknown-unknown)" {4}, image
117+
118+
/// Check -fsycl-add-targets=<triple> behaviors unbundle
119+
// RUN: touch %t.o
120+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-add-targets=spir64-unknown-unknown:dummy.spv %t.o 2>&1 \
121+
// RUN: | FileCheck -check-prefix=CHK-ADD-TARGETS-UB %s
122+
// CHK-ADD-TARGETS-UB: 0: input, "[[INPUT:.+\.o]]", object, (host-sycl)
123+
// CHK-ADD-TARGETS-UB: 1: clang-offload-unbundler, {0}, object, (host-sycl)
124+
// CHK-ADD-TARGETS-UB: 2: linker, {1}, image, (host-sycl)
125+
// CHK-ADD-TARGETS-UB: 3: input, "dummy.spv", sycl-fatbin, (device-sycl)
126+
// CHK-ADD-TARGETS-UB: 4: clang-offload-wrapper, {3}, object, (device-sycl)
127+
// CHK-ADD-TARGETS-UB: 5: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (spir64-unknown-unknown)" {4}, image
128+
129+
/// Check offload with multiple triples, multiple binaries passed through -fsycl-add-targets
130+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-add-targets=spir64-unknown-unknown:dummy.spv,spir64_fpga-unknown-unknown:dummy.aocx,spir64_gen-unknown-unknown:dummy_Gen9core.bin %s 2>&1 \
131+
// RUN: | FileCheck -check-prefix=CHK-ADD-TARGETS-MUL %s
132+
// CHK-ADD-TARGETS-MUL: 0: input, "[[INPUT:.+\.cpp]]", c++, (host-sycl)
133+
// CHK-ADD-TARGETS-MUL: 1: append-footer, {0}, c++, (host-sycl)
134+
// CHK-ADD-TARGETS-MUL: 2: preprocessor, {1}, c++-cpp-output, (host-sycl)
135+
// CHK-ADD-TARGETS-MUL: 3: input, "[[INPUT]]", c++, (device-sycl)
136+
// CHK-ADD-TARGETS-MUL: 4: preprocessor, {3}, c++-cpp-output, (device-sycl)
137+
// CHK-ADD-TARGETS-MUL: 5: compiler, {4}, ir, (device-sycl)
138+
// CHK-ADD-TARGETS-MUL: 6: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (spir64-unknown-unknown)" {5}, c++-cpp-output
139+
// CHK-ADD-TARGETS-MUL: 7: compiler, {6}, ir, (host-sycl)
140+
// CHK-ADD-TARGETS-MUL: 8: backend, {7}, assembler, (host-sycl)
141+
// CHK-ADD-TARGETS-MUL: 9: assembler, {8}, object, (host-sycl)
142+
// CHK-ADD-TARGETS-MUL: 10: linker, {9}, image, (host-sycl)
143+
// CHK-ADD-TARGETS-MUL: 11: input, "dummy.spv", sycl-fatbin, (device-sycl)
144+
// CHK-ADD-TARGETS-MUL: 12: clang-offload-wrapper, {11}, object, (device-sycl)
145+
// CHK-ADD-TARGETS-MUL: 13: input, "dummy.aocx", sycl-fatbin, (device-sycl)
146+
// CHK-ADD-TARGETS-MUL: 14: clang-offload-wrapper, {13}, object, (device-sycl)
147+
// CHK-ADD-TARGETS-MUL: 15: input, "dummy_Gen9core.bin", sycl-fatbin, (device-sycl)
148+
// CHK-ADD-TARGETS-MUL: 16: clang-offload-wrapper, {15}, object, (device-sycl)
149+
// CHK-ADD-TARGETS-MUL: 17: offload, "host-sycl (x86_64-unknown-linux-gnu)" {10}, "device-sycl (spir64-unknown-unknown)" {12}, "device-sycl (spir64_fpga-unknown-unknown)" {14}, "device-sycl (spir64_gen-unknown-unknown)" {16}, image
150+
151+
/// Check offload with single triple, multiple binaries passed through -fsycl-add-targets
152+
// RUN: %clang -### -ccc-print-phases -target x86_64-unknown-linux-gnu -fsycl -o %t.out -fsycl-add-targets=spir64-unknown-unknown:dummy0.spv,spir64-unknown-unknown:dummy1.spv,spir64-unknown-unknown:dummy2.spv %s 2>&1 \
153+
// RUN: | FileCheck -check-prefix=CHK-ADD-TARGETS-MUL-BINS %s
154+
// CHK-ADD-TARGETS-MUL-BINS: 0: input, "[[INPUT:.+\.cpp]]", c++, (host-sycl)
155+
// CHK-ADD-TARGETS-MUL-BINS: 1: append-footer, {0}, c++, (host-sycl)
156+
// CHK-ADD-TARGETS-MUL-BINS: 2: preprocessor, {1}, c++-cpp-output, (host-sycl)
157+
// CHK-ADD-TARGETS-MUL-BINS: 3: input, "[[INPUT]]", c++, (device-sycl)
158+
// CHK-ADD-TARGETS-MUL-BINS: 4: preprocessor, {3}, c++-cpp-output, (device-sycl)
159+
// CHK-ADD-TARGETS-MUL-BINS: 5: compiler, {4}, ir, (device-sycl)
160+
// CHK-ADD-TARGETS-MUL-BINS: 6: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (spir64-unknown-unknown)" {5}, c++-cpp-output
161+
// CHK-ADD-TARGETS-MUL-BINS: 7: compiler, {6}, ir, (host-sycl)
162+
// CHK-ADD-TARGETS-MUL-BINS: 8: backend, {7}, assembler, (host-sycl)
163+
// CHK-ADD-TARGETS-MUL-BINS: 9: assembler, {8}, object, (host-sycl)
164+
// CHK-ADD-TARGETS-MUL-BINS: 10: linker, {9}, image, (host-sycl)
165+
// CHK-ADD-TARGETS-MUL-BINS: 11: input, "dummy0.spv", sycl-fatbin, (device-sycl)
166+
// CHK-ADD-TARGETS-MUL-BINS: 12: clang-offload-wrapper, {11}, object, (device-sycl)
167+
// CHK-ADD-TARGETS-MUL-BINS: 13: input, "dummy1.spv", sycl-fatbin, (device-sycl)
168+
// CHK-ADD-TARGETS-MUL-BINS: 14: clang-offload-wrapper, {13}, object, (device-sycl)
169+
// CHK-ADD-TARGETS-MUL-BINS: 15: input, "dummy2.spv", sycl-fatbin, (device-sycl)
170+
// CHK-ADD-TARGETS-MUL-BINS: 16: clang-offload-wrapper, {15}, object, (device-sycl)
171+
// CHK-ADD-TARGETS-MUL-BINS: 17: offload, "host-sycl (x86_64-unknown-linux-gnu)" {10}, "device-sycl (spir64-unknown-unknown)" {12}, "device-sycl (spir64-unknown-unknown)" {14}, "device-sycl (spir64-unknown-unknown)" {16}, image
172+
173+
/// Check regular offload with an additional AOT binary passed through -fsycl-add-targets (same triple)
174+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl -fno-sycl-instrument-device-code -fno-sycl-device-lib=all -fsycl-targets=spir64-unknown-unknown -fsycl-add-targets=spir64-unknown-unknown:dummy.spv -ccc-print-phases %s 2>&1 \
175+
// RUN: | FileCheck -check-prefix=CHK-ADD-TARGETS-REG %s
176+
// CHK-ADD-TARGETS-REG: 0: input, "[[INPUT:.+\.cpp]]", c++, (host-sycl)
177+
// CHK-ADD-TARGETS-REG: 1: append-footer, {0}, c++, (host-sycl)
178+
// CHK-ADD-TARGETS-REG: 2: preprocessor, {1}, c++-cpp-output, (host-sycl)
179+
// CHK-ADD-TARGETS-REG: 3: input, "[[INPUT]]", c++, (device-sycl)
180+
// CHK-ADD-TARGETS-REG: 4: preprocessor, {3}, c++-cpp-output, (device-sycl)
181+
// CHK-ADD-TARGETS-REG: 5: compiler, {4}, ir, (device-sycl)
182+
// CHK-ADD-TARGETS-REG: 6: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (spir64-unknown-unknown)" {5}, c++-cpp-output
183+
// CHK-ADD-TARGETS-REG: 7: compiler, {6}, ir, (host-sycl)
184+
// CHK-ADD-TARGETS-REG: 8: backend, {7}, assembler, (host-sycl)
185+
// CHK-ADD-TARGETS-REG: 9: assembler, {8}, object, (host-sycl)
186+
// CHK-ADD-TARGETS-REG: 10: linker, {9}, image, (host-sycl)
187+
// CHK-ADD-TARGETS-REG: 11: linker, {5}, ir, (device-sycl)
188+
// CHK-ADD-TARGETS-REG: 12: sycl-post-link, {11}, tempfiletable, (device-sycl)
189+
// CHK-ADD-TARGETS-REG: 13: file-table-tform, {12}, tempfilelist, (device-sycl)
190+
// CHK-ADD-TARGETS-REG: 14: llvm-spirv, {13}, tempfilelist, (device-sycl)
191+
// CHK-ADD-TARGETS-REG: 15: file-table-tform, {12, 14}, tempfiletable, (device-sycl)
192+
// CHK-ADD-TARGETS-REG: 16: clang-offload-wrapper, {15}, object, (device-sycl)
193+
// CHK-ADD-TARGETS-REG: 17: input, "dummy.spv", sycl-fatbin, (device-sycl)
194+
// CHK-ADD-TARGETS-REG: 18: clang-offload-wrapper, {17}, object, (device-sycl)
195+
// CHK-ADD-TARGETS-REG: 19: offload, "host-sycl (x86_64-unknown-linux-gnu)" {10}, "device-sycl (spir64-unknown-unknown)" {16}, "device-sycl (spir64-unknown-unknown)" {18}, image
196+
197+
/// Check regular offload with multiple additional AOT binaries passed through -fsycl-add-targets
198+
// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl -fno-sycl-instrument-device-code -fno-sycl-device-lib=all -fsycl-targets=spir64-unknown-unknown -fsycl-add-targets=spir64_fpga-unknown-unknown:dummy.aocx,spir64_gen-unknown-unknown:dummy_Gen9core.bin,spir64_x86_64-unknown-unknown:dummy.ir -ccc-print-phases %s 2>&1 \
199+
// RUN: | FileCheck -check-prefix=CHK-ADD-TARGETS-REG-MUL %s
200+
// CHK-ADD-TARGETS-REG-MUL: 0: input, "[[INPUT:.+\.cpp]]", c++, (host-sycl)
201+
// CHK-ADD-TARGETS-REG-MUL: 1: append-footer, {0}, c++, (host-sycl)
202+
// CHK-ADD-TARGETS-REG-MUL: 2: preprocessor, {1}, c++-cpp-output, (host-sycl)
203+
// CHK-ADD-TARGETS-REG-MUL: 3: input, "[[INPUT]]", c++, (device-sycl)
204+
// CHK-ADD-TARGETS-REG-MUL: 4: preprocessor, {3}, c++-cpp-output, (device-sycl)
205+
// CHK-ADD-TARGETS-REG-MUL: 5: compiler, {4}, ir, (device-sycl)
206+
// CHK-ADD-TARGETS-REG-MUL: 6: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (spir64-unknown-unknown)" {5}, c++-cpp-output
207+
// CHK-ADD-TARGETS-REG-MUL: 7: compiler, {6}, ir, (host-sycl)
208+
// CHK-ADD-TARGETS-REG-MUL: 8: backend, {7}, assembler, (host-sycl)
209+
// CHK-ADD-TARGETS-REG-MUL: 9: assembler, {8}, object, (host-sycl)
210+
// CHK-ADD-TARGETS-REG-MUL: 10: linker, {9}, image, (host-sycl)
211+
// CHK-ADD-TARGETS-REG-MUL: 11: linker, {5}, ir, (device-sycl)
212+
// CHK-ADD-TARGETS-REG-MUL: 12: sycl-post-link, {11}, tempfiletable, (device-sycl)
213+
// CHK-ADD-TARGETS-REG-MUL: 13: file-table-tform, {12}, tempfilelist, (device-sycl)
214+
// CHK-ADD-TARGETS-REG-MUL: 14: llvm-spirv, {13}, tempfilelist, (device-sycl)
215+
// CHK-ADD-TARGETS-REG-MUL: 15: file-table-tform, {12, 14}, tempfiletable, (device-sycl)
216+
// CHK-ADD-TARGETS-REG-MUL: 16: clang-offload-wrapper, {15}, object, (device-sycl)
217+
// CHK-ADD-TARGETS-REG-MUL: 17: input, "dummy.aocx", sycl-fatbin, (device-sycl)
218+
// CHK-ADD-TARGETS-REG-MUL: 18: clang-offload-wrapper, {17}, object, (device-sycl)
219+
// CHK-ADD-TARGETS-REG-MUL: 19: input, "dummy_Gen9core.bin", sycl-fatbin, (device-sycl)
220+
// CHK-ADD-TARGETS-REG-MUL: 20: clang-offload-wrapper, {19}, object, (device-sycl)
221+
// CHK-ADD-TARGETS-REG-MUL: 21: input, "dummy.ir", sycl-fatbin, (device-sycl)
222+
// CHK-ADD-TARGETS-REG-MUL: 22: clang-offload-wrapper, {21}, object, (device-sycl)
223+
// CHK-ADD-TARGETS-REG-MUL: 23: offload, "host-sycl (x86_64-unknown-linux-gnu)" {10}, "device-sycl (spir64-unknown-unknown)" {16}, "device-sycl (spir64_fpga-unknown-unknown)" {18}, "device-sycl (spir64_gen-unknown-unknown)" {20}, "device-sycl (spir64_x86_64-unknown-unknown)" {22}, image

0 commit comments

Comments
 (0)