clang API Documentation

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

This represents '#pragma omp simd' directive. More...

#include <StmtOpenMP.h>

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

List of all members.

Static Public Member Functions

static OMPSimdDirectiveCreate (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 OMPSimdDirectiveCreateEmpty (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 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.


Member Function Documentation

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.

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

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

Definition at line 1515 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 420 of file StmtOpenMP.h.


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