|
clang
5.0.0
|
This represents '#pragma omp target simd' directive. More...
#include "clang/AST/StmtOpenMP.h"
Static Public Member Functions | |
| static OMPTargetSimdDirective * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs) |
| Creates directive with a list of Clauses. More... | |
| static OMPTargetSimdDirective * | CreateEmpty (const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell) |
| Creates an empty directive with the place for NumClauses clauses. More... | |
| static bool | classof (const Stmt *T) |
Static Public Member Functions inherited from clang::OMPLoopDirective | |
| static bool | classof (const Stmt *T) |
Static Public Member Functions inherited from clang::OMPExecutableDirective | |
| template<typename SpecificClause > | |
| static llvm::iterator_range < specific_clause_iterator < SpecificClause > > | getClausesOfKind (ArrayRef< OMPClause * > Clauses) |
| 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 () |
Friends | |
| class | ASTStmtReader |
Additional Inherited Members | |
Public Types inherited from clang::Stmt | |
| enum | StmtClass { NoStmtClass = 0 } |
| typedef StmtIterator | child_iterator |
| Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpessions of an AST node. More... | |
| typedef ConstStmtIterator | const_child_iterator |
| typedef llvm::iterator_range < child_iterator > | child_range |
| typedef llvm::iterator_range < const_child_iterator > | const_child_range |
Public Member Functions inherited from clang::OMPLoopDirective | |
| unsigned | getCollapsedNumber () const |
| Get number of collapsed loops. More... | |
| Expr * | getIterationVariable () const |
| Expr * | getLastIteration () const |
| Expr * | getCalcLastIteration () const |
| Expr * | getPreCond () const |
| Expr * | getCond () const |
| Expr * | getInit () const |
| Expr * | getInc () const |
| const Stmt * | getPreInits () const |
| Stmt * | getPreInits () |
| Expr * | getIsLastIterVariable () const |
| Expr * | getLowerBoundVariable () const |
| Expr * | getUpperBoundVariable () const |
| Expr * | getStrideVariable () const |
| Expr * | getEnsureUpperBound () const |
| Expr * | getNextLowerBound () const |
| Expr * | getNextUpperBound () const |
| Expr * | getNumIterations () const |
| Expr * | getPrevLowerBoundVariable () const |
| Expr * | getPrevUpperBoundVariable () const |
| Expr * | getDistInc () const |
| Expr * | getPrevEnsureUpperBound () const |
| Expr * | getCombinedLowerBoundVariable () const |
| Expr * | getCombinedUpperBoundVariable () const |
| Expr * | getCombinedEnsureUpperBound () const |
| Expr * | getCombinedInit () const |
| Expr * | getCombinedCond () const |
| Expr * | getCombinedNextLowerBound () const |
| Expr * | getCombinedNextUpperBound () const |
| const Stmt * | getBody () const |
| ArrayRef< Expr * > | counters () |
| ArrayRef< Expr * > | counters () const |
| ArrayRef< Expr * > | private_counters () |
| ArrayRef< Expr * > | private_counters () const |
| ArrayRef< Expr * > | inits () |
| ArrayRef< Expr * > | inits () const |
| ArrayRef< Expr * > | updates () |
| ArrayRef< Expr * > | updates () const |
| ArrayRef< Expr * > | finals () |
| ArrayRef< Expr * > | finals () const |
Public Member Functions inherited from clang::OMPExecutableDirective | |
| template<typename SpecificClause > | |
| llvm::iterator_range < specific_clause_iterator < SpecificClause > > | getClausesOfKind () const |
| template<typename SpecificClause > | |
| const SpecificClause * | getSingleClause () const |
| Gets a single clause of the specified kind associated with the current directive iff there is only one clause of this kind (and assertion is fired if there is more than one clause is associated with the directive). More... | |
| template<typename SpecificClause > | |
| bool | hasClausesOfKind () const |
| Returns true if the current directive has one or more clauses of a specific kind. More... | |
| SourceLocation | getLocStart () const |
| Returns starting location of directive kind. More... | |
| SourceLocation | getLocEnd () const |
| Returns ending location of directive. More... | |
| void | setLocStart (SourceLocation Loc) |
| Set starting location of directive kind. More... | |
| void | setLocEnd (SourceLocation Loc) |
| Set ending location of directive. More... | |
| unsigned | getNumClauses () const |
| Get number of clauses. More... | |
| OMPClause * | getClause (unsigned i) const |
| Returns specified clause. More... | |
| bool | hasAssociatedStmt () const |
| Returns true if directive has associated statement. More... | |
| Stmt * | getAssociatedStmt () const |
| Returns statement associated with the directive. More... | |
| CapturedStmt * | getCapturedStmt (OpenMPDirectiveKind RegionKind) const |
| Returns the captured statement associated with the component region within the (combined) directive. More... | |
| OpenMPDirectiveKind | getDirectiveKind () const |
| child_range | children () |
| ArrayRef< OMPClause * > | clauses () |
| ArrayRef< OMPClause * > | clauses () 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 (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. More... | |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| void | dump () const |
Dumps the specified AST fragment and all subtrees to llvm::errs(). More... | |
| void | dump (SourceManager &SM) const |
| void | dump (raw_ostream &OS, SourceManager &SM) const |
| void | dump (raw_ostream &OS) const |
| void | dumpColor () const |
| dumpColor - same as dump(), but forces color highlighting. More... | |
| 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. More... | |
| void | printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0) const |
| void | viewAST () const |
| viewAST - Visualize an AST rooted at this Stmt* using GraphViz. More... | |
| Stmt * | IgnoreImplicit () |
| Skip past any implicit AST nodes which might surround this statement, such as ExprWithCleanups or ImplicitCastExpr nodes. More... | |
| const Stmt * | IgnoreImplicit () const |
| Stmt * | IgnoreContainers (bool IgnoreCaptured=false) |
| Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true. More... | |
| const Stmt * | stripLabelLikeStatements () const |
| Strip off all label-like statements. More... | |
| 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) const |
| Produce a unique representation of the given statement. More... | |
| void | ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const |
| Calculate a unique representation for a statement that is stable across compiler invocations. More... | |
Protected Types inherited from clang::Stmt | |
| enum | { NumStmtBits = 8 } |
| enum | { NumExprBits = 17 } |
| enum | APFloatSemantics { IEEEhalf, IEEEsingle, IEEEdouble, x87DoubleExtended, IEEEquad, PPCDoubleDouble } |
Protected Member Functions inherited from clang::OMPLoopDirective | |
| template<typename T > | |
| OMPLoopDirective (const T *That, StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, unsigned NumClauses, unsigned NumSpecialChildren=0) | |
| Build instance of loop directive of class Kind. More... | |
| void | setIterationVariable (Expr *IV) |
| void | setLastIteration (Expr *LI) |
| void | setCalcLastIteration (Expr *CLI) |
| void | setPreCond (Expr *PC) |
| void | setCond (Expr *Cond) |
| void | setInit (Expr *Init) |
| void | setInc (Expr *Inc) |
| void | setPreInits (Stmt *PreInits) |
| void | setIsLastIterVariable (Expr *IL) |
| void | setLowerBoundVariable (Expr *LB) |
| void | setUpperBoundVariable (Expr *UB) |
| void | setStrideVariable (Expr *ST) |
| void | setEnsureUpperBound (Expr *EUB) |
| void | setNextLowerBound (Expr *NLB) |
| void | setNextUpperBound (Expr *NUB) |
| void | setNumIterations (Expr *NI) |
| void | setPrevLowerBoundVariable (Expr *PrevLB) |
| void | setPrevUpperBoundVariable (Expr *PrevUB) |
| void | setDistInc (Expr *DistInc) |
| void | setPrevEnsureUpperBound (Expr *PrevEUB) |
| void | setCombinedLowerBoundVariable (Expr *CombLB) |
| void | setCombinedUpperBoundVariable (Expr *CombUB) |
| void | setCombinedEnsureUpperBound (Expr *CombEUB) |
| void | setCombinedInit (Expr *CombInit) |
| void | setCombinedCond (Expr *CombCond) |
| void | setCombinedNextLowerBound (Expr *CombNLB) |
| void | setCombinedNextUpperBound (Expr *CombNUB) |
| void | setCounters (ArrayRef< Expr * > A) |
| void | setPrivateCounters (ArrayRef< Expr * > A) |
| void | setInits (ArrayRef< Expr * > A) |
| void | setUpdates (ArrayRef< Expr * > A) |
| void | setFinals (ArrayRef< Expr * > A) |
Protected Member Functions inherited from clang::OMPExecutableDirective | |
| template<typename T > | |
| OMPExecutableDirective (const T *, StmtClass SC, OpenMPDirectiveKind K, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumClauses, unsigned NumChildren) | |
| Build instance of directive of class K. More... | |
| void | setClauses (ArrayRef< OMPClause * > Clauses) |
| Sets the list of variables for this clause. More... | |
| void | setAssociatedStmt (Stmt *S) |
| Set the associated statement for the directive. More... | |
Protected Member Functions inherited from clang::Stmt | |
| void * | operator new (size_t bytes) noexcept |
| void | operator delete (void *data) noexcept |
| Stmt (StmtClass SC, EmptyShell) | |
| Construct an empty statement. More... | |
Static Protected Member Functions inherited from clang::OMPLoopDirective | |
| static unsigned | getArraysOffset (OpenMPDirectiveKind Kind) |
| Offset to the start of children expression arrays. More... | |
| static unsigned | numLoopChildren (unsigned CollapsedNum, OpenMPDirectiveKind Kind) |
| Children number. More... | |
Protected Attributes inherited from clang::Stmt | |
| union { | |
| StmtBitfields StmtBits | |
| CompoundStmtBitfields CompoundStmtBits | |
| IfStmtBitfields IfStmtBits | |
| ExprBitfields ExprBits | |
| CharacterLiteralBitfields CharacterLiteralBits | |
| FloatingLiteralBitfields FloatingLiteralBits | |
| UnaryExprOrTypeTraitExprBitfields UnaryExprOrTypeTraitExprBits | |
| DeclRefExprBitfields DeclRefExprBits | |
| CastExprBitfields CastExprBits | |
| CallExprBitfields CallExprBits | |
| ExprWithCleanupsBitfields ExprWithCleanupsBits | |
| PseudoObjectExprBitfields PseudoObjectExprBits | |
| ObjCIndirectCopyRestoreExprBitfields ObjCIndirectCopyRestoreExprBits | |
| InitListExprBitfields InitListExprBits | |
| TypeTraitExprBitfields TypeTraitExprBits | |
| CoawaitExprBitfields CoawaitBits | |
| }; | |
This represents '#pragma omp target simd' directive.
In this example directive '#pragma omp target simd' has clauses 'private' with the variable 'a', 'map' with the variable 'b' and 'safelen' with the variable 'c'.
Definition at line 3291 of file StmtOpenMP.h.
Definition at line 3344 of file StmtOpenMP.h.
References clang::Stmt::getStmtClass().
|
static |
Creates directive with a list of Clauses.
| C | AST context. |
| StartLoc | Starting location of the directive kind. |
| EndLoc | Ending Location of the directive. |
| CollapsedNum | Number of collapsed loops. |
| Clauses | List of clauses. |
| AssociatedStmt | Statement, associated with the directive. |
| Exprs | Helper expressions for CodeGen. |
Definition at line 1266 of file StmtOpenMP.cpp.
References clang::ASTContext::Allocate(), clang::OMPLoopDirective::HelperExprs::CalcLastIteration, clang::OMPLoopDirective::HelperExprs::Cond, clang::OMPLoopDirective::HelperExprs::Counters, clang::OMPLoopDirective::HelperExprs::Finals, clang::OMPLoopDirective::HelperExprs::Inc, clang::OMPLoopDirective::HelperExprs::Init, clang::OMPLoopDirective::HelperExprs::Inits, clang::OMPLoopDirective::HelperExprs::IterationVarRef, clang::OMPLoopDirective::HelperExprs::LastIteration, clang::OMPLoopDirective::numLoopChildren(), clang::OMPLoopDirective::HelperExprs::PreCond, clang::OMPLoopDirective::HelperExprs::PreInits, clang::OMPLoopDirective::HelperExprs::PrivateCounters, clang::OMPExecutableDirective::setAssociatedStmt(), clang::OMPLoopDirective::setCalcLastIteration(), clang::OMPExecutableDirective::setClauses(), clang::OMPLoopDirective::setCond(), clang::OMPLoopDirective::setCounters(), clang::OMPLoopDirective::setFinals(), clang::OMPLoopDirective::setInc(), clang::OMPLoopDirective::setInit(), clang::OMPLoopDirective::setInits(), clang::OMPLoopDirective::setIterationVariable(), clang::OMPLoopDirective::setLastIteration(), clang::OMPLoopDirective::setPreCond(), clang::OMPLoopDirective::setPreInits(), clang::OMPLoopDirective::setPrivateCounters(), clang::OMPLoopDirective::setUpdates(), and clang::OMPLoopDirective::HelperExprs::Updates.
Referenced by clang::Sema::ActOnOpenMPTargetSimdDirective().
|
static |
Creates an empty directive with the place for NumClauses clauses.
| C | AST context. |
| CollapsedNum | Number of collapsed nested loops. |
| NumClauses | Number of clauses. |
Definition at line 1296 of file StmtOpenMP.cpp.
References clang::ASTContext::Allocate(), and clang::OMPLoopDirective::numLoopChildren().
|
friend |
Definition at line 3292 of file StmtOpenMP.h.
1.8.6