clang API Documentation
This represents '#pragma omp simd' directive. More...
#include <StmtOpenMP.h>
Static Public Member Functions | |
static OMPSimdDirective * | 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) |
Creates directive with a list of Clauses. | |
static OMPSimdDirective * | CreateEmpty (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 |
This represents '#pragma omp simd' directive.
#pragma omp simd private(a,b) linear(i,j:s) reduction(+:c,d)
In this example directive '#pragma omp simd' has clauses 'private' with the variables 'a' and 'b', 'linear' with variables 'i', 'j' and linear step 's', 'reduction' with operator '+' and variables 'c' and 'd'.
Definition at line 419 of file StmtOpenMP.h.
static bool clang::OMPSimdDirective::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::OMPLoopDirective.
Definition at line 481 of file StmtOpenMP.h.
References clang::Stmt::getStmtClass().
OMPSimdDirective * OMPSimdDirective::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.
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. |
IV | Loop iteration variable for CodeGen. |
LastIteration | Loop last iteration number for CodeGen. |
CalcLastIteration | Calculation of last iteration. |
PreCond | Pre-condition. |
Cond | Condition. |
SeparatedCond | Condition with 1 iteration separated. |
Inc | Loop increment. |
Counters | Loop counters. |
Updates | Expressions for loop counters update for CodeGen. |
Finals | Final loop counter values for GodeGen. |
Definition at line 1487 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::ActOnOpenMPSimdDirective().
OMPSimdDirective * OMPSimdDirective::CreateEmpty | ( | const ASTContext & | C, |
unsigned | NumClauses, | ||
unsigned | CollapsedNum, | ||
EmptyShell | |||
) | [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 1515 of file Stmt.cpp.
References clang::ASTContext::Allocate(), and clang::OMPLoopDirective::numLoopChildren().
friend class ASTStmtReader [friend] |
Reimplemented from clang::OMPLoopDirective.
Definition at line 420 of file StmtOpenMP.h.