[PATCH] D57768: [SYCL] Add SYCL device compilation flow.
Anastasia Stulova via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 6 03:38:11 PST 2019
Anastasia added subscribers: rjmccall, rsmith.
Anastasia added a comment.
In D57768#1386791 <https://reviews.llvm.org/D57768#1386791>, @bader wrote:
> In D57768#1386754 <https://reviews.llvm.org/D57768#1386754>, @Naghasan wrote:
> > LGTM
> > Side note: might be good to also involve @Anastasia, as some of the future patches will overlap with OpenCL.
> Sure. I'll add @Anastasia as a reviewer to the relevant patches.
Sorry for the delay. I was planning to reply on the RFC this week after finishing looking at your prototype in github. Seems quite a substantial amount of work!
There are a number of big architectural aspects of Clang that this work affects. My personal feeling is that some more senior developers in Clang architecture should provide feedback before we go ahead with detailed reviews.
Particularly, the following needs clarification:
- SYCL seem to require adding tight dependencies from the standard libraries into the compiler because many language features are hidden behind library classes. This is not common for Clang. We had a discussion about this issue during the implementation of OpenCL C++ and it was decided not to go this route for upstream Clang. Can you explain your current approach to implement this? I think @rjmccall or @rsmith might need to be involved in this.
- I am not sure how the change of direction for OpenCL C++ to just enabling C++ in OpenCL would affect your work now? Particularly we are establishing a lot of rules in the areas of interplay between OpenCL features and C++. Address space handling is one example here. As far as I am aware SYCL doesn't detail many of these rules either. So I am wondering how it would work... would you just inherit the same rules? Also keep in mind they are not documented anywhere yet other than the source code.
- What is your solution for integration with SPIR-V and how does it relate to our previous discussions in October: http://lists.llvm.org/pipermail/cfe-dev/2018-October/059974.html
- Can you explain the purpose of https://github.com/intel/llvm/tree/sycl/clang/lib/CodeGen/OclCxxRewrite that you are adding to Clang?
I will follow up on RFC as well so we can have a wider discussion.
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
More information about the cfe-commits