You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[SYCL-Upstreaming] Add support for host kernel launch stmt generation (#51)
* Add support for host kernel launch stmt generation
This adds generation of a call to sycl_enqueue_kernel_launch function
aka "launcher" function. The launcher function can be a memeber of a
class or a free function defined at namespace scope. The lookup is
performed from SKEP attributed function scope. Because unqualified
lookup requires Scope object present and it only exists during parsing
stage and already EOLed at the point where templates instantiated, I had
to move some parts of SYCLKernelCallStmt generation to earlier stages
and now TreeTransform knows how to process SYCLKernelCallStmt.
I also had to invent a new expression - UnresolvedSYCLKernelExpr which
represents a string containing kernel name of a kernel that doesn't
exist yet. This expression is supposed to be transformed to a
StringLiteral during template instantiation phase. It should never reach
AST consumers like CodeGen of constexpr evaluators. This still requires
more testing and FIXME cleanups, but since it evolved into a quite
complicated patch I'm pushing it for earlier feedback.
* Remove a fixme from SemaSYCL
* Do not crash if original body was invalid
* Add AST test for skep-attributed member
* Fix a warning
* Extend codegen test a bit
* Find and replace
UnresolvedSYCLKernelNameExpr -> UnresolvedSYCLKernelLaunchExpr
* Implement the thing
* One more find and replace
* I don't know how it looks like
* Find and replace again
* Switch to UnresolvedSYCLKernelEntryPointStmt
* Apply suggestions from code review
* Remove log.txt
* Implement visiting
* Add tests
* Apply suggestions from code review
Co-authored-by: Tom Honermann <[email protected]>
* IdExpr -> KernelLaunchIdExpr
* Don't rely on compound
* UnresolvedSYCLKernelEntryPointStmt -> UnresolvedSYCLKernelCall
* Fix warnings
* Rename sycl_enqueue_kernel_launch -> sycl_kernel_launch
* Apply suggestions from code review
Co-authored-by: Tom Honermann <[email protected]>
* Remove array decay
* Add windows run line to the sema test
---------
Co-authored-by: Tom Honermann <[email protected]>
0 commit comments