clang  3.9.0
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPParallelForDirective Class Reference

This represents '#pragma omp parallel for' directive. More...

#include <StmtOpenMP.h>

Inheritance diagram for clang::OMPParallelForDirective:
[legend]
Collaboration diagram for clang::OMPParallelForDirective:
[legend]

Public Member Functions

bool hasCancel () const
 Return true if current directive has inner cancel directive. More...
 
- Public Member Functions inherited from clang::OMPLoopDirective
unsigned getCollapsedNumber () const
 Get number of collapsed loops. More...
 
ExprgetIterationVariable () const
 
ExprgetLastIteration () const
 
ExprgetCalcLastIteration () const
 
ExprgetPreCond () const
 
ExprgetCond () const
 
ExprgetInit () const
 
ExprgetInc () const
 
const StmtgetPreInits () const
 
StmtgetPreInits ()
 
ExprgetIsLastIterVariable () const
 
ExprgetLowerBoundVariable () const
 
ExprgetUpperBoundVariable () const
 
ExprgetStrideVariable () const
 
ExprgetEnsureUpperBound () const
 
ExprgetNextLowerBound () const
 
ExprgetNextUpperBound () const
 
ExprgetNumIterations () const
 
ExprgetPrevLowerBoundVariable () const
 
ExprgetPrevUpperBoundVariable () const
 
const StmtgetBody () 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...
 
OMPClausegetClause (unsigned i) const
 Returns specified clause. More...
 
bool hasAssociatedStmt () const
 Returns true if directive has associated statement. More...
 
StmtgetAssociatedStmt () 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 OMPParallelForDirectiveCreate (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 OMPParallelForDirectiveCreateEmpty (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)
 

Friends

class ASTStmtReader
 

Additional Inherited Members

- 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 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...
 
- 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...
 

Detailed Description

This represents '#pragma omp parallel for' directive.

#pragma omp parallel for private(a,b) reduction(+:c,d)

In this example directive '#pragma omp parallel for' has clauses 'private' with the variables 'a' and 'b' and 'reduction' with operator '+' and variables 'c' and 'd'.

Definition at line 1302 of file StmtOpenMP.h.

Member Function Documentation

static bool clang::OMPParallelForDirective::classof ( const Stmt T)
inlinestatic

Definition at line 1367 of file StmtOpenMP.h.

OMPParallelForDirective * OMPParallelForDirective::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  EndLoc,
unsigned  CollapsedNum,
ArrayRef< OMPClause * >  Clauses,
Stmt AssociatedStmt,
const HelperExprs Exprs,
bool  HasCancel 
)
static

Creates directive with a list of Clauses.

Parameters
CAST context.
StartLocStarting location of the directive kind.
EndLocEnding Location of the directive.
CollapsedNumNumber of collapsed loops.
ClausesList of clauses.
AssociatedStmtStatement, associated with the directive.
ExprsHelper expressions for CodeGen.
HasCanceltrue if current directive has inner cancel directive.

Definition at line 347 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::ActOnOpenMPParallelForDirective().

OMPParallelForDirective * OMPParallelForDirective::CreateEmpty ( const ASTContext C,
unsigned  NumClauses,
unsigned  CollapsedNum,
EmptyShell   
)
static

Creates an empty directive with the place for NumClauses clauses.

Parameters
CAST context.
CollapsedNumNumber of collapsed nested loops.
NumClausesNumber of clauses.

Definition at line 388 of file StmtOpenMP.cpp.

References clang::ASTContext::Allocate(), and clang::OMPLoopDirective::numLoopChildren().

bool clang::OMPParallelForDirective::hasCancel ( ) const
inline

Return true if current directive has inner cancel directive.

Definition at line 1365 of file StmtOpenMP.h.

Friends And Related Function Documentation

friend class ASTStmtReader
friend

Definition at line 1303 of file StmtOpenMP.h.


The documentation for this class was generated from the following files: