-
Notifications
You must be signed in to change notification settings - Fork 741
2020 06 01 sync
Alexey Bader edited this page Jun 15, 2020
·
5 revisions
- Opens
- GitHub issues/PRs
- https://github.com/intel/llvm/issues/806 - update from Alexey Sachkov
- https://github.com/intel/llvm/issues/1777 - compiler guidelines on new diagnostics
- https://github.com/intel/llvm/pull/1786 - Matching sizeof long double of SYCL device with that of host
- Patches in review for llorg:
- https://reviews.llvm.org/D74387 - [SYCL] Do not diagnose use of __float128
- https://reviews.llvm.org/D71016 - [SYCL] Implement OpenCL kernel function generation
- https://reviews.llvm.org/D77220 - [SYCL] Enable OpenCL types required for implementing the SYCL headers.
- https://reviews.llvm.org/D80932 - [SYCL] Make default address space a superset of OpenCL address spaces
Participants: Alexey Bader (Intel), Mariya Podchischaeva (Intel), Alexey Sachkov (Intel), Roland Schulz (Intel), Victor Lomuller (Codeplay)
- Opens
- Victor: I have a questions about Itanium mangler changes. Why do we mangle private address space?
- Alexey: IIRC, it's done to avoid conflicts in mangling template function instances, which parameters are different by address space only. E.g. <int*> vs <__private int*> are mangled the same way.
- AR Alexey: to take a look at the SYCL branch change in Itanium manger and investigate the reason for this change. Is there better way to resolve original issue?
- Issue 806:
- Alexey Sachkov created https://github.com/intel/llvm/pull/1793.
- Current document defines -sycl-std option is it's currently implemented. Are there any changes needed? Should we enforce particular C++ standard version?
- Victor: ComputeCPP issues a warning if C++ version is not set and sets minimum required C++ version.
- Roland: -sycl-std shouldn't override -std=c++.
- Roland: Add -std= which sets SYCL and C++ versions.
- Alexey: We can add notifications about the incompatible versions from the headers using pragmas.
- Extensions: library features vs. compiler features.
- We should document how to enable/disable extensions.
- Library features control options: user macro vs compiler flag.
- -sycl-std version should enable new features, which might be extensions for previous versions.
- Roland. Compiler flag is better in the way it's unified and separate implementation from user interface.
- C++ feature test macro.
- Roland: we shouldn't split language from library features.
- -sycl-ext, we expect the compiler to set/unset the macro and validate the value of the option.
- Roland: option value validation is better than -D.
- Consistency, implementation flexibility and validation should be enough.
- Alexey Sachkov to summarize the options and send an RFC to the clang mailing list.
- Issue 1777
- Victor should be a warning. Compiler should emit foo.
- Alexey Sachkov: can we call a function which is called by
foo
w/o SYCL_EXTERNAL from another TU? - SYCL_EXTERNAL doesn't change the linkage type, just makes the compiler to emit the symbol for the device code. Using this macro for internal linkage symbols doesn't make much sense as it leads to dead code, so we should emit a warning.