Skip to content

SYCL patches upstream status

Alexey Bader edited this page Jun 20, 2019 · 6 revisions

Current implementation includes patches to two LLVM projects: Clang and LLVM.

In addition to that there is SYCL standard library project, which probably can be contributed with a single patch, so SYCL runtime library patches are not tracked here.

Clang patches

I used following command to create the list of SYCL patches to clang:

git log --before="09-Apr-19" --format=format:"| [%h](https://github.com/intel/llvm/commit/%H) | %an | %s | TBD | |" --no-merges --reverse origin/master..origin/sycl -- clang

To get a new entries for this tables, just update the date for --before="09-Apr-19" and add --since="09-Apr-19" to avoid duplicated entries.

Commit hash Author/Owner Subject Status Comments
1e0b4966ba9 Vladimir Lazarev Added documentation. ✔️ Added documentation is specific to GitHub project and not applicable for up-streaming to llvm.org.
f509e63e64d Podchishchaeva, Mariya [SYCL] Add SYCL device compilation flow. In progress Partially up-streamed with https://reviews.llvm.org/rL354773. Clang driver --sycl option is not up-streamed.
03354a29868 Podchishchaeva, Mariya [SYCL] Add SYCL Kernel entry point generation. TBD
1e60aa69cc1 Podchishchaeva, Mariya [SYCL][NFC] Added SPIRSYCLDevice target. TBD
f1a7138c3ef Podchishchaeva, Mariya [SYCL] Emit OpenCL/SPIR metadata and calling convention for SYCL device code. TBD
9a282fb1d5d Podchishchaeva, Mariya [SYCL] Added Implicit LValueToRValue cast to lambda () operator arguments TBD
f29e1cd65c2 Podchishchaeva, Mariya [SYCL] Make SYCL device compiler less dependent on SYCL accessor class implementation. TBD
2f8d0801878 Podchishchaeva, Mariya [SYCL] Emit SPIR-V specific OpenCL C++ metadata. TBD
fa1ff0a84a6 Podchishchaeva, Mariya [SYCL] Add SYCL device code attribute to clang. In progress https://reviews.llvm.org/D60455
e8025185829 Podchishchaeva, Mariya [SPIR-V] Enable SPIR-V format emitter in clang. TBD
f1d20ee2094 Podchishchaeva, Mariya [SYCL] Add SYCL kernel attribute to clang. In progress https://reviews.llvm.org/D60455
120b4b509d7 Podchishchaeva, Mariya [NFC][SYCL] Refactor kernel wrapper generation. TBD
d35c08f8c89 Podchishchaeva, Mariya [SYCL] Add C++ standard header wrappers for sycl device compilation. TBD
70774e80158 Vladimir Lazarev [SYCL] Disable dereferenceable attribute for SPIRV emitted from SYCL 1.2.1. N/A The bug which was work-arounded by this change has been fixed
94c1d5662cf Podchishchaeva, Mariya [SYCL] Don't add SYCL stream class to kernel arguments list. TBD
9e3fcc97fbb Podchishchaeva, Mariya [SYCL] Set address space to accessors-related kernel arguments in accordance with accessors targets. TBD
124a88ac597 Podchishchaeva, Mariya [SYCL] Mark functions that the kernels call with SYCL device attribute. TBD
2ad1d2018e7 Podchishchaeva, Mariya [SYCL] Add check that accessor class declared in cl::sycl namespace. TBD
b7a122b0c01 Semenov, Sergey [SYCL] Remove struct and class keywords from kernel names TBD
bab1e6a6029 Bader, Alexey [NFC][SYCL] Minor refactoring/fixes. TBD
f037419866a Podchishchaeva, Mariya [SYCL] Add initialization captured lambda variables of built-in types. TBD
a11308ac24c Bobrovsky, Konstantin S [SYCL] SYCL integration header emission by device compiler TBD
76bcf3cc531 Toguchi, Michael D [SYCL] Enable support for generating LLVM-BC with spir target TBD
f7d0f61098e Toguchi, Michael D [SYCL] add include/sycl_wrappers header search directory for sycl device target compilations TBD
5a3040d16fd Bobrovsky, Konstantin S [SYCL] Implement kernel name type to name mapping in the integration header TBD
effac359c41 Vladimir Lazarev [SYCL] Update integration header format to match SYCL static library compilation flow. TBD
c2785431004 Keane, Erich [SYCL] Implement SYCL address-space rules. TBD
dd5ff0a9058 Podchishchaeva, Mariya [SYCL] Add ASFixer pass. TBD
51c2fd80989 Voronov, Alexey [SYCL] Add __set_range call for accessor class TBD
33ff936ed64 Bobrovsky, Konstantin S [SYCL] Cumulative patch TBD
08b20c157ce Keane, Erich [SYCL] Implement virtual-table prohibit in SYCL device code. TBD
ee585e92902 Toguchi, Michael D [SYCL] Add support for -fsycl -fsycl-targets and -Xsycl-target. TBD
4e8c5b0945b Bobrovsky, Konstantin S [SYCL] Fix integration header generator to handle anonymous namespace. TBD
1fface95dfc Keane, Erich [SYCL] Tweak v-table suppress patch to work with virtual host calls TBD
5e3005cc869 Toguchi, Michael D [SYCL] do not add -emit-reg-funcs=0 for offload-wrapper TBD
d37cadccbc5 Toguchi, Michael D [SYCL] break out offload-wrapper step to allow usage for all sycl devices. TBD
d97c89d7eda Semenov, Sergey [SYCL] Remove noinline attribute from SPIRV TBD
58a7b249921 Vladimir Lazarev [SYCL] Use kernel types with the global namespace specifier. TBD
eae0f80c6d9 Bader, Alexey [SYCL] Add missing includes in SYCL stubs for C++ standard headers. TBD
1c93c84add1 Bobrovsky, Konstantin S [SYCL] Support structures as kernel parameters (compiler part). TBD
4095f94f70f Bobrovsky, Konstantin S [SYCL] Support functors as SYCL kernels (compiler part). TBD
3ca000ad321 Bobrovsky, Konstantin S [SYCL] Improve SYCL API class matching. TBD
0bab53d9323 Bobrovsky, Konstantin S [SYCL] Refactor kernel object type fields traversal. TBD
0a83bced310 Bobrovsky, Konstantin S [SYCL] Some refactoring of integration header and fix one test TBD
e2b3b46d499 Romanov, Vlad [SYCL] Run DCE + GDCE instead of DSE. TBD
4609257fb3c Bobrovsky, Konstantin S [SYCL] Initialize the offset of the accessor class TBD
e1c447a069c Blower, Melanie [SYCL] Add SYCL diagnostics for device side code. TBD
adddf4ed659 Romanov, Vlad [SYCL] Ignore inline assembler in host code. TBD
71d613946ed Bader, Alexey [SYCL] Remove external dependencies from CodeGenSYCL tests. TBD
2260ff1ea61 Klochkov, Vyacheslav N [SYCL] Added a new CLANG pass that adapts the names of OclCXX classes and funcs for translation to SPIRV. TBD
19e51686542 Romanov, Vlad [SYCL] Revert "[OpenCL] Enable address spaces for references in C++" TBD
6ca8af6656b Klochkov, Vyacheslav N [SYCL] Allow pre-declared C++ classes to be used without being defined TBD
9be56d571e4 Vladimir Lazarev [SYCL] Add component name to install targets of offload tools. TBD
5c727bbaeeb Voronov, Alexey [SYCL] Fix double definition of default values for template parameters. TBD
ed3568d6aa3 Toguchi, Michael D [SYCL] Add support ahead of time compilation support via separate compilation TBD
8963347eae8 Maksimova, Viktoria [SYCL] Use mangled identifiers for SYCL kernel names TBD
6adb425ca6c Vladimir Lazarev [SYCL] Temporarily XFAIL failing tests. TBD
a36d83abd47 Vladimir Lazarev [SYCL] Fixed issues found by static code analysis. TBD
4e38c234e30 Ronan Keryell [SYCL] Fix some typos TBD
9b838d963a6 Ronan Keryell [SYCL][NFC] Fix wrong end-of-line encoding TBD
4efe9fcf2dc Blower, Melanie [SYCL] Language restrictions for SYCL kernel functions from 6.3 section TBD
3ce5091397c Podchishchaeva, Mariya [SYCL] Added constexpr specifier to standard functions declarations in sycl_wrapper to support c++14 sources TBD
3e645878786 Wyma, Brock [SYCL] Fix incorrect line information in SYCL device code debug info TBD
e7219557e61 Toguchi, Michael D [SYCL] Add support for -fsycl-use-bitcode TBD
bae2b751d83 Vladimir Lazarev [SYCL] Change license to Apache 2.0 with LLVM exceptions. TBD
c4e068dfb52 Ronan Keryell [SYCL][NFC] Remove a compilation warning with GCC 8.2.0 TBD
e878f1d0a80 Blower, Melanie [SYCL] Add option fsycl-allow-func-ptr which defaults to false TBD
971fecdc316 Blower, Melanie [SYCL] fix MarkFunction ASTConsumer issue with delayed instantiations TBD
afb4152a7b8 Michael D Toguchi [SYCL] link in with -lsycl when -fsycl is used TBD
0738099b4ab Konstantin S Bobrovsky [SYCL] Add multiple target binaries support. TBD
fbffaab85da Viktoria Maksimova [SYCL] Enable FPGA memory attributes TBD
ff0f21dfed3 Michael D Toguchi [SYCL] remove usage of SPIRV library and generate SPIRV binary via llvm-spirv TBD
f0d1636d09d Mariya Podchishchaeva [SYCL] Switch to use one definition of SYCL runtime classes in SYCL tests TBD
873ad55c812 Alexey Voronov [SCYL] Revert SYCL __private address space value to 0. TBD
7edf29c6834 Mariya Podchishchaeva [SYCL] Fix accessor to subset of buffer indexing (compiler part) TBD
ed0ea4527a5 Melanie Blower [SYCL] Captured enum variables are incorrect inside SYCL kernels for CPU device TBD
78584744f77 Konstantin S Bobrovsky [SYCL] Don't force SPIRV format in device binary image. TBD
1b8c0089ad7 Alexey Voronov [SYCL] Enable ext_vector_type of boolean type for SYCL language. TBD
d50139d65c7 Michael Toguchi [SYCL] Add driver support for fat archives TBD
7e5a7aab09b Vyacheslav N Klochkov [SYCL] Common Reference Semantics for accessor class TBD
11c512cbedf Melanie Blower [SYCL] Restriction : cannot capture class static var in kernel code TBD

LLVM patches

Commit hash Author/Owner Subject Status Comments
1e0b4966ba9 Vladimir Lazarev Added documentation. Added documentation is specific to GitHub project and not applicable for up-streaming to llvm.org.
79a49d63504 Podchishchaeva, Mariya [SYCL] Added SYCLDevice env to triple. TBD
65f8c243c48 Add SYCL-specific address spaces fixer pass. [SYCL] Add SYCL-specific address spaces fixer pass. This patch is supposed to be replaced with another solution
e8025185829 Vladimir Lazarev [SPIR-V] Enable SPIR-V format emitter in clang. This patch adds CMake configuration enabling LLVM-SPIRV-Translator project as "standard" LLVM project. Two line patch, which pending LLVM-SPIRV-Translator project to be added to LLVM monorepo.
6509eb13a48 Vladimir Lazarev [SYCL] Add initial drop for SYCL runtime. This patch adds CMake configuration enabling SYCL library project as "standard" LLVM project. Two line patch, which pending SYCL library project to be added to LLVM monorepo.
a36d83abd47 Vladimir Lazarev [SYCL] Fixed issues found by static code analysis. LLVM patch is to ASFixer pass. ASFixer related changes are not going to be upstreamed
4e38c234e30 Ronan Keryell [SYCL] Fix some typos This patch contributes to LLVM, Clang and SYCL runtime projects. LLVM fixes are done in ASFixer pass, which is not going to be upstreamed.
bae2b751d83 Vladimir Lazarev [SYCL] Change license to Apache 2.0 with LLVM exceptions. Not for upstream
ced972ae161 Andrew Savonichev [SYCL] Fix ASFixer build with cmake -DBUILD_SHARED_LIBS=ON ASFixer related changes are not going to be upstreamed
Clone this wiki locally