clang API Documentation

Static Public Member Functions | Friends
clang::OMPParallelForDirective Class Reference

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

#include <StmtOpenMP.h>

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

List of all members.

Static Public Member Functions

static OMPParallelForDirectiveCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, Expr *IV, Expr *LastIteration, Expr *CalcLastIteration, Expr *PreCond, Expr *Cond, Expr *SeparatedCond, Expr *Init, Expr *Inc, ArrayRef< Expr * > Counters, ArrayRef< Expr * > Updates, ArrayRef< Expr * > Finals)
 Creates directive with a list of Clauses.
static OMPParallelForDirectiveCreateEmpty (const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell)
 Creates an empty directive with the place for NumClauses clauses.
static bool classof (const Stmt *T)

Friends

class ASTStmtReader

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 919 of file StmtOpenMP.h.


Member Function Documentation

static bool clang::OMPParallelForDirective::classof ( const Stmt T) [inline, static]

Reimplemented from clang::OMPLoopDirective.

Definition at line 983 of file StmtOpenMP.h.

References clang::Stmt::getStmtClass().

OMPParallelForDirective * OMPParallelForDirective::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  EndLoc,
unsigned  CollapsedNum,
ArrayRef< OMPClause * >  Clauses,
Stmt AssociatedStmt,
Expr IV,
Expr LastIteration,
Expr CalcLastIteration,
Expr PreCond,
Expr Cond,
Expr SeparatedCond,
Expr Init,
Expr Inc,
ArrayRef< Expr * >  Counters,
ArrayRef< Expr * >  Updates,
ArrayRef< Expr * >  Finals 
) [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.
IVLoop iteration variable for CodeGen.
LastIterationLoop last iteration number for CodeGen.
CalcLastIterationCalculation of last iteration.
PreCondPre-condition.
CondCondition.
SeparatedCondCondition with 1 iteration separated.
IncLoop increment.
CountersLoop counters.
UpdatesExpressions for loop counters update for CodeGen.
FinalsFinal loop counter values for GodeGen.

Definition at line 1715 of file Stmt.cpp.

References clang::ASTContext::Allocate(), clang::OMPLoopDirective::numLoopChildren(), 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::setIterationVariable(), clang::OMPLoopDirective::setLastIteration(), clang::OMPLoopDirective::setPreCond(), and clang::OMPLoopDirective::setUpdates().

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 1744 of file Stmt.cpp.

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


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::OMPLoopDirective.

Definition at line 920 of file StmtOpenMP.h.


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