clang 20.0.0git
|
This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial', or 'kernel'. More...
#include "clang/AST/StmtOpenACC.h"
Public Member Functions | |
Stmt * | getStructuredBlock () |
const Stmt * | getStructuredBlock () const |
Public Member Functions inherited from clang::OpenACCAssociatedStmtConstruct | |
child_range | children () |
const_child_range | children () const |
Public Member Functions inherited from clang::OpenACCConstructStmt | |
OpenACCDirectiveKind | getDirectiveKind () const |
SourceLocation | getBeginLoc () const |
SourceLocation | getEndLoc () const |
SourceLocation | getDirectiveLoc () const |
ArrayRef< const OpenACCClause * > | clauses () const |
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 OpenACCComputeConstruct * | CreateEmpty (const ASTContext &C, unsigned NumClauses) |
static OpenACCComputeConstruct * | Create (const ASTContext &C, OpenACCDirectiveKind K, SourceLocation BeginLoc, SourceLocation DirectiveLoc, SourceLocation EndLoc, ArrayRef< const OpenACCClause * > Clauses, Stmt *StructuredBlock, ArrayRef< OpenACCLoopConstruct * > AssociatedLoopConstructs) |
Static Public Member Functions inherited from clang::OpenACCAssociatedStmtConstruct | |
static bool | classof (const Stmt *T) |
Static Public Member Functions inherited from clang::OpenACCConstructStmt | |
static bool | classof (const Stmt *S) |
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 | ASTStmtWriter |
class | ASTStmtReader |
class | ASTContext |
This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial', or 'kernel'.
These constructs are associated with a 'structured block', defined as:
in C or C++, an executable statement, possibly compound, with a single entry at the top and a single exit at the bottom
At the moment there is no real motivation to have a different AST node for those three, as they are semantically identical, and have only minor differences in the permitted list of clauses, which can be differentiated by the 'Kind'.
Definition at line 129 of file StmtOpenACC.h.
Definition at line 177 of file StmtOpenACC.h.
References clang::T.
|
static |
Definition at line 28 of file StmtOpenACC.cpp.
References clang::C.
Referenced by clang::SemaOpenACC::ActOnEndStmtDirective().
|
static |
Definition at line 20 of file StmtOpenACC.cpp.
References clang::C.
|
inline |
Definition at line 189 of file StmtOpenACC.h.
References clang::OpenACCAssociatedStmtConstruct::getAssociatedStmt().
Referenced by getStructuredBlock().
|
inline |
Definition at line 190 of file StmtOpenACC.h.
References getStructuredBlock().
|
friend |
Definition at line 135 of file StmtOpenACC.h.
|
friend |
Definition at line 134 of file StmtOpenACC.h.
|
friend |
Definition at line 133 of file StmtOpenACC.h.