Commit 1838f7f
committed
[Clang][SYCL] Fix kernel name mangling for cross-ABI scenarios
In SYCL offload compilation, when the host uses Microsoft ABI and the
device uses Itanium ABI (e.g., Windows host with CUDA device), kernel
names were mangled differently between host and device code, causing
runtime errors when the host tried to find kernels by name.
This fix ensures consistent mangling by using the device's mangling
context when compiling for cross-ABI scenarios. The logic is implemented
in SYCL-specific code (SemaSYCL.cpp) to avoid adding SYCL-specific code
to general Clang infrastructure.
Removes XFAIL from Printf tests that were failing due to this issue.
Fixes #14733.1 parent 8fd5c48 commit 1838f7f
File tree
3 files changed
+17
-6
lines changed- clang/lib/Sema
- sycl/test-e2e/Printf
3 files changed
+17
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5369 | 5369 | | |
5370 | 5370 | | |
5371 | 5371 | | |
| 5372 | + | |
| 5373 | + | |
| 5374 | + | |
| 5375 | + | |
| 5376 | + | |
| 5377 | + | |
| 5378 | + | |
| 5379 | + | |
| 5380 | + | |
| 5381 | + | |
| 5382 | + | |
| 5383 | + | |
| 5384 | + | |
| 5385 | + | |
| 5386 | + | |
5372 | 5387 | | |
5373 | 5388 | | |
5374 | | - | |
| 5389 | + | |
5375 | 5390 | | |
5376 | 5391 | | |
5377 | 5392 | | |
| |||
5890 | 5905 | | |
5891 | 5906 | | |
5892 | 5907 | | |
5893 | | - | |
| 5908 | + | |
5894 | 5909 | | |
5895 | 5910 | | |
5896 | 5911 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | 5 | | |
8 | 6 | | |
9 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
10 | 8 | | |
11 | 9 | | |
12 | 10 | | |
| |||
0 commit comments