[PATCH] D60455: [SYCL] Implement SYCL device code outlining
Alexey Bader via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 7 11:53:20 PST 2019
bader updated this revision to Diff 228286.
bader added a comment.
Applied comments from Aaron.
Two comments left unresolved:
- Split diagnostic message for sycl_kernel attribute into multiple messages. Will do tomorrow.
- Change attribute "subject" in TableGen file from "Function" to "FunctionTemplate". I need guidance here as I'm not sure how to make it work.
Refactored patch to re-use CodeGen infrastructure for emitting SYCL device code.
It turned out to be quite simple change - just two one-liner changes in ASTContext to say that only SYCL kernels must be emitted when we compile for SYCL device + similar change in the CodeGen to mark symbols which must be emitted.
Removed `sycl_device` attribute, which was required by previous implementation for device code outlining. I think we still might need this attribute to mark "non-kernel" symbols as "device code", so the compiler will emit even though they are not used by SYCL kernels. Anyway it's not required for device code outlining and shouldn't be part of this patch.
Enhanced CodeGen test to check that host part of the code is not emitted.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60455/new/
https://reviews.llvm.org/D60455
Files:
clang/include/clang/Basic/Attr.td
clang/include/clang/Basic/AttrDocs.td
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/AST/ASTContext.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/Sema/SemaDeclAttr.cpp
clang/test/CodeGenSYCL/device-functions.cpp
clang/test/Misc/pragma-attribute-supported-attributes-list.test
clang/test/SemaSYCL/device-attributes-on-non-sycl.cpp
clang/test/SemaSYCL/device-attributes.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60455.228286.patch
Type: text/x-patch
Size: 14536 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191107/adc4421e/attachment-0001.bin>
More information about the cfe-commits
mailing list