clang 22.0.0git
|
SYCLKernelCallStmt represents the transformation that is applied to the body of a function declared with the sycl_kernel_entry_point attribute. More...
#include "clang/AST/StmtSYCL.h"
Public Member Functions | |
SYCLKernelCallStmt (CompoundStmt *CS, OutlinedFunctionDecl *OFD) | |
Construct a SYCL kernel call statement. | |
SYCLKernelCallStmt (EmptyShell Empty) | |
Construct an empty SYCL kernel call statement. | |
CompoundStmt * | getOriginalStmt () |
Retrieve the model statement. | |
const CompoundStmt * | getOriginalStmt () const |
void | setOriginalStmt (CompoundStmt *CS) |
OutlinedFunctionDecl * | getOutlinedFunctionDecl () |
Retrieve the outlined function declaration. | |
const OutlinedFunctionDecl * | getOutlinedFunctionDecl () const |
void | setOutlinedFunctionDecl (OutlinedFunctionDecl *OFD) |
Set the outlined function declaration. | |
SourceLocation | getBeginLoc () const LLVM_READONLY |
SourceLocation | getEndLoc () const LLVM_READONLY |
SourceRange | getSourceRange () const LLVM_READONLY |
child_range | children () |
const_child_range | children () const |
Public Member Functions inherited from clang::Stmt | |
void * | operator new (size_t bytes, const ASTContext &C, unsigned alignment=8) |
void * | operator new (size_t bytes, const ASTContext *C, unsigned alignment=8) |
void * | operator new (size_t bytes, void *mem) noexcept |
void | operator delete (void *, const ASTContext &, unsigned) noexcept |
void | operator delete (void *, const ASTContext *, unsigned) noexcept |
void | operator delete (void *, size_t) noexcept |
void | operator delete (void *, void *) noexcept |
Stmt ()=delete | |
Stmt (const Stmt &)=delete | |
Stmt (Stmt &&)=delete | |
Stmt & | operator= (const Stmt &)=delete |
Stmt & | operator= (Stmt &&)=delete |
Stmt (StmtClass SC) | |
StmtClass | getStmtClass () const |
const char * | getStmtClassName () const |
SourceRange | getSourceRange () const LLVM_READONLY |
SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. | |
SourceLocation | getBeginLoc () const LLVM_READONLY |
SourceLocation | getEndLoc () const LLVM_READONLY |
void | dump () const |
Dumps the specified AST fragment and all subtrees to llvm::errs() . | |
void | dump (raw_ostream &OS, const ASTContext &Context) const |
int64_t | getID (const ASTContext &Context) const |
void | dumpColor () const |
dumpColor - same as dump(), but forces color highlighting. | |
void | dumpPretty (const ASTContext &Context) const |
dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax. | |
void | printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const |
void | printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const |
void | printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const |
Pretty-prints in JSON format. | |
void | viewAST () const |
viewAST - Visualize an AST rooted at this Stmt* using GraphViz. | |
Stmt * | IgnoreContainers (bool IgnoreCaptured=false) |
Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true. | |
const Stmt * | IgnoreContainers (bool IgnoreCaptured=false) const |
const Stmt * | stripLabelLikeStatements () const |
Strip off all label-like statements. | |
Stmt * | stripLabelLikeStatements () |
child_range | children () |
const_child_range | children () const |
child_iterator | child_begin () |
child_iterator | child_end () |
const_child_iterator | child_begin () const |
const_child_iterator | child_end () const |
void | Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false) const |
Produce a unique representation of the given statement. | |
void | ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const |
Calculate a unique representation for a statement that is stable across compiler invocations. |
Static Public Member Functions | |
static bool | classof (const Stmt *T) |
Static Public Member Functions inherited from clang::Stmt | |
static void | addStmtClass (const StmtClass s) |
static void | EnableStatistics () |
static void | PrintStats () |
static Likelihood | getLikelihood (ArrayRef< const Attr * > Attrs) |
static Likelihood | getLikelihood (const Stmt *S) |
static const Attr * | getLikelihoodAttr (const Stmt *S) |
static Likelihood | getLikelihood (const Stmt *Then, const Stmt *Else) |
static std::tuple< bool, const Attr *, const Attr * > | determineLikelihoodConflict (const Stmt *Then, const Stmt *Else) |
Friends | |
class | ASTStmtReader |
class | ASTStmtWriter |
SYCLKernelCallStmt represents the transformation that is applied to the body of a function declared with the sycl_kernel_entry_point attribute.
The body of such a function specifies the statements to be executed on a SYCL device to invoke a SYCL kernel with a particular set of kernel arguments. The SYCLKernelCallStmt associates an original statement (the compound statement that is the function body) with an OutlinedFunctionDecl that holds the kernel parameters and the transformed body. During code generation, the OutlinedFunctionDecl is used to emit an offload kernel entry point suitable for invocation from a SYCL library implementation. If executed, the SYCLKernelCallStmt behaves as a no-op; no code generation is performed for it.
Definition at line 37 of file StmtSYCL.h.
|
inline |
Construct a SYCL kernel call statement.
Definition at line 47 of file StmtSYCL.h.
References clang::Stmt::Stmt().
|
inline |
Construct an empty SYCL kernel call statement.
Definition at line 51 of file StmtSYCL.h.
References clang::Empty, and clang::Stmt::Stmt().
|
inline |
Definition at line 83 of file StmtSYCL.h.
|
inline |
Definition at line 87 of file StmtSYCL.h.
Definition at line 79 of file StmtSYCL.h.
References clang::Stmt::Stmt(), and clang::T.
|
inline |
Definition at line 67 of file StmtSYCL.h.
References clang::CompoundStmt::getBeginLoc(), and getOriginalStmt().
|
inline |
Definition at line 71 of file StmtSYCL.h.
References clang::CompoundStmt::getEndLoc(), and getOriginalStmt().
|
inline |
Retrieve the model statement.
Definition at line 54 of file StmtSYCL.h.
References clang::cast().
Referenced by getBeginLoc(), getEndLoc(), getSourceRange(), and clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitSYCLKernelCallStmt().
|
inline |
Definition at line 55 of file StmtSYCL.h.
References clang::cast().
|
inline |
Retrieve the outlined function declaration.
Definition at line 61 of file StmtSYCL.h.
Referenced by clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitSYCLKernelCallStmt().
|
inline |
Definition at line 62 of file StmtSYCL.h.
|
inline |
Definition at line 75 of file StmtSYCL.h.
References getOriginalStmt(), and clang::Stmt::getSourceRange().
|
inline |
Definition at line 58 of file StmtSYCL.h.
|
inline |
Set the outlined function declaration.
Definition at line 65 of file StmtSYCL.h.
|
friend |
|
friend |
Definition at line 39 of file StmtSYCL.h.
References ASTStmtWriter, and clang::Stmt::Stmt().
Referenced by ASTStmtWriter.