clang
3.9.0
|
This represents '#pragma omp target parallel for' directive. More...
#include <StmtOpenMP.h>
Public Member Functions | |
bool | hasCancel () const |
Return true if current directive has inner cancel directive. More... | |
![]() | |
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 |
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 |
![]() | |
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... | |
OpenMPDirectiveKind | getDirectiveKind () const |
child_range | children () |
ArrayRef< OMPClause * > | clauses () |
ArrayRef< OMPClause * > | clauses () const |
Static Public Member Functions | |
static OMPTargetParallelForDirective * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs, bool HasCancel) |
Creates directive with a list of Clauses. More... | |
static OMPTargetParallelForDirective * | 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 bool | classof (const Stmt *T) |
![]() | |
template<typename SpecificClause > | |
static llvm::iterator_range < specific_clause_iterator < SpecificClause > > | getClausesOfKind (ArrayRef< OMPClause * > Clauses) |
static bool | classof (const Stmt *S) |
Friends | |
class | ASTStmtReader |
Additional Inherited Members | |
![]() | |
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 | setCounters (ArrayRef< Expr * > A) |
void | setPrivateCounters (ArrayRef< Expr * > A) |
void | setInits (ArrayRef< Expr * > A) |
void | setUpdates (ArrayRef< Expr * > A) |
void | setFinals (ArrayRef< Expr * > A) |
![]() | |
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... | |
![]() | |
static unsigned | getArraysOffset (OpenMPDirectiveKind Kind) |
Offset to the start of children expression arrays. More... | |
static unsigned | numLoopChildren (unsigned CollapsedNum, OpenMPDirectiveKind Kind) |
Children number. More... | |
This represents '#pragma omp target parallel for' directive.
In this example directive '#pragma omp target parallel for' has clauses 'private' with the variables 'a' and 'b' and 'reduction' with operator '+' and variables 'c' and 'd'.
Definition at line 2309 of file StmtOpenMP.h.
Definition at line 2376 of file StmtOpenMP.h.
|
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. |
HasCancel | true if current directive has inner cancel directive. |
Definition at line 738 of file StmtOpenMP.cpp.
References clang::ASTContext::Allocate(), clang::OMPLoopDirective::HelperExprs::CalcLastIteration, clang::OMPLoopDirective::HelperExprs::Cond, clang::OMPLoopDirective::HelperExprs::Counters, clang::OMPLoopDirective::HelperExprs::EUB, clang::OMPLoopDirective::HelperExprs::Finals, clang::OMPLoopDirective::HelperExprs::IL, clang::OMPLoopDirective::HelperExprs::Inc, clang::OMPLoopDirective::HelperExprs::Init, clang::OMPLoopDirective::HelperExprs::Inits, clang::OMPLoopDirective::HelperExprs::IterationVarRef, clang::OMPLoopDirective::HelperExprs::LastIteration, clang::OMPLoopDirective::HelperExprs::LB, clang::OMPLoopDirective::HelperExprs::NLB, clang::OMPLoopDirective::HelperExprs::NUB, clang::OMPLoopDirective::HelperExprs::NumIterations, clang::OMPLoopDirective::numLoopChildren(), clang::OMPLoopDirective::HelperExprs::PreCond, clang::OMPLoopDirective::HelperExprs::PreInits, clang::OMPLoopDirective::HelperExprs::PrevLB, clang::OMPLoopDirective::HelperExprs::PrevUB, clang::OMPLoopDirective::HelperExprs::PrivateCounters, clang::OMPExecutableDirective::setAssociatedStmt(), clang::OMPLoopDirective::setCalcLastIteration(), clang::OMPExecutableDirective::setClauses(), clang::OMPLoopDirective::setCond(), clang::OMPLoopDirective::setCounters(), clang::OMPLoopDirective::setEnsureUpperBound(), clang::OMPLoopDirective::setFinals(), clang::OMPLoopDirective::setInc(), clang::OMPLoopDirective::setInit(), clang::OMPLoopDirective::setInits(), clang::OMPLoopDirective::setIsLastIterVariable(), clang::OMPLoopDirective::setIterationVariable(), clang::OMPLoopDirective::setLastIteration(), clang::OMPLoopDirective::setLowerBoundVariable(), clang::OMPLoopDirective::setNextLowerBound(), clang::OMPLoopDirective::setNextUpperBound(), clang::OMPLoopDirective::setNumIterations(), clang::OMPLoopDirective::setPreCond(), clang::OMPLoopDirective::setPreInits(), clang::OMPLoopDirective::setPrevLowerBoundVariable(), clang::OMPLoopDirective::setPrevUpperBoundVariable(), clang::OMPLoopDirective::setPrivateCounters(), clang::OMPLoopDirective::setStrideVariable(), clang::OMPLoopDirective::setUpdates(), clang::OMPLoopDirective::setUpperBoundVariable(), clang::OMPLoopDirective::HelperExprs::ST, clang::OMPLoopDirective::HelperExprs::UB, and clang::OMPLoopDirective::HelperExprs::Updates.
Referenced by clang::Sema::ActOnOpenMPTargetParallelForDirective().
|
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 779 of file StmtOpenMP.cpp.
References clang::ASTContext::Allocate(), and clang::OMPLoopDirective::numLoopChildren().
|
inline |
Return true if current directive has inner cancel directive.
Definition at line 2374 of file StmtOpenMP.h.
|
friend |
Definition at line 2310 of file StmtOpenMP.h.