Skip to content

SYCL patches upstream status

vladimirlaz edited this page Apr 11, 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. TBD
e8025185829 Vladimir Lazarev [SPIR-V] Enable SPIR-V format emitter in clang. TBD
6509eb13a48 Vladimir Lazarev [SYCL] Add initial drop for SYCL runtime. TBD
a36d83abd47 Vladimir Lazarev [SYCL] Fixed issues found by static code analysis. TBD
4e38c234e30 Ronan Keryell [SYCL] Fix some typos TBD
bae2b751d83 Vladimir Lazarev [SYCL] Change license to Apache 2.0 with LLVM exceptions. TBD
ced972ae161 Andrew Savonichev [SYCL] Fix ASFixer build with cmake -DBUILD_SHARED_LIBS=ON TBD
Clone this wiki locally