diff options
author | Maksim Sabianin <maksim.sabianin@intel.com> | 2025-09-26 19:02:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-26 17:02:31 +0000 |
commit | 65d730b4a5aaea91493305dd32e27bc8e033a0ac (patch) | |
tree | bf9ca239a9e7620f77fa100a74806bcf08a01fd5 /clang/lib/CodeGen/BackendUtil.cpp | |
parent | 12b74111b24d8ed511a382a913cda706128c8336 (diff) | |
download | llvm-65d730b4a5aaea91493305dd32e27bc8e033a0ac.zip llvm-65d730b4a5aaea91493305dd32e27bc8e033a0ac.tar.gz llvm-65d730b4a5aaea91493305dd32e27bc8e033a0ac.tar.bz2 |
[SYCL] Add offload wrapping for SYCL kind (#147508)
This patch adds an Offload Wrapper for the SYCL kind. This is an
essential step for SYCL offloading and the compilation flow. The usage
of offload wrapping is added to the clang-linker-wrapper tool.
Modifications:
Implemented `bundleSYCL()` function to handle SYCL image bundling.
Implemented `wrapSYCLBinaries()` function that is invoked from
clang-linker-wrapper.
SYCL Offload Wrapping uses specific data structures such as
`__sycl.tgt_device_image` and `__sycl.tgt_bin_desc`. Each SYCL image
maintains its own symbol table (unlike shared global tables in other
targets). Therefore, symbols are encoded explicitly during the offload
wrapping. Also, images refer to their own Offloading Entries arrays
unlike other targets.
The proposed `__sycl.tgt_device_image` uses Version 3 to differentiate
from images generated by Intel DPC++. The structure proposed in this
patch doesn't have fields deprecated in DPC++.
Diffstat (limited to 'clang/lib/CodeGen/BackendUtil.cpp')
0 files changed, 0 insertions, 0 deletions