clang API Documentation

Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends
clang::OMPLoopDirective Class Reference

This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). It is responsible for the loop code generation. More...

#include <StmtOpenMP.h>

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

List of all members.

Public Member Functions

unsigned getCollapsedNumber () const
 Get number of collapsed loops.
ExprgetIterationVariable () const
ExprgetLastIteration () const
ExprgetCalcLastIteration () const
ExprgetPreCond () const
ExprgetCond (bool SeparateIter) const
ExprgetInit () const
ExprgetInc () const
const StmtgetBody () const
ArrayRef< Expr * > counters ()
ArrayRef< Expr * > counters () const
ArrayRef< Expr * > updates ()
ArrayRef< Expr * > updates () const
ArrayRef< Expr * > finals ()
ArrayRef< Expr * > finals () const

Static Public Member Functions

static bool classof (const Stmt *T)

Protected Member Functions

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.
void setIterationVariable (Expr *IV)
void setLastIteration (Expr *LI)
void setCalcLastIteration (Expr *CLI)
void setPreCond (Expr *PC)
void setCond (Expr *Cond, Expr *SeparatedCond)
void setInit (Expr *Init)
void setInc (Expr *Inc)
void setCounters (ArrayRef< Expr * > A)
void setUpdates (ArrayRef< Expr * > A)
void setFinals (ArrayRef< Expr * > A)

Static Protected Member Functions

static unsigned numLoopChildren (unsigned CollapsedNum)
 Children number.

Friends

class ASTStmtReader

Detailed Description

This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). It is responsible for the loop code generation.

Definition at line 251 of file StmtOpenMP.h.


Constructor & Destructor Documentation

template<typename T >
clang::OMPLoopDirective::OMPLoopDirective ( const T *  That,
StmtClass  SC,
OpenMPDirectiveKind  Kind,
SourceLocation  StartLoc,
SourceLocation  EndLoc,
unsigned  CollapsedNum,
unsigned  NumClauses,
unsigned  NumSpecialChildren = 0 
) [inline, protected]

Build instance of loop directive of class Kind.

Parameters:
SCStatement class.
KindKind of OpenMP directive.
StartLocStarting location of the directive (directive keyword).
EndLocEnding location of the directive.
CollapsedNumNumber of collapsed loops from 'collapse' clause.
NumClausesNumber of clauses.
NumSpecialChildrenNumber of additional directive-specific stmts.

Definition at line 303 of file StmtOpenMP.h.


Member Function Documentation

static bool clang::OMPLoopDirective::classof ( const Stmt T) [inline, static]
ArrayRef<Expr *> clang::OMPLoopDirective::counters ( ) [inline]
ArrayRef<Expr *> clang::OMPLoopDirective::counters ( ) const [inline]

Definition at line 385 of file StmtOpenMP.h.

ArrayRef<Expr *> clang::OMPLoopDirective::finals ( ) [inline]

Definition at line 395 of file StmtOpenMP.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitOMPSimdFinal().

ArrayRef<Expr *> clang::OMPLoopDirective::finals ( ) const [inline]

Definition at line 397 of file StmtOpenMP.h.

const Stmt* clang::OMPLoopDirective::getBody ( ) const [inline]

Get number of collapsed loops.

Definition at line 341 of file StmtOpenMP.h.

Referenced by setCounters(), setFinals(), and setUpdates().

Expr* clang::OMPLoopDirective::getCond ( bool  SeparateIter) const [inline]
static unsigned clang::OMPLoopDirective::numLoopChildren ( unsigned  CollapsedNum) [inline, static, protected]
void clang::OMPLoopDirective::setCalcLastIteration ( Expr CLI) [inline, protected]
void clang::OMPLoopDirective::setCond ( Expr Cond,
Expr SeparatedCond 
) [inline, protected]
void OMPLoopDirective::setCounters ( ArrayRef< Expr * >  A) [protected]
void OMPLoopDirective::setFinals ( ArrayRef< Expr * >  A) [protected]
void clang::OMPLoopDirective::setInc ( Expr Inc) [inline, protected]
void clang::OMPLoopDirective::setInit ( Expr Init) [inline, protected]
void clang::OMPLoopDirective::setIterationVariable ( Expr IV) [inline, protected]
void clang::OMPLoopDirective::setLastIteration ( Expr LI) [inline, protected]
void clang::OMPLoopDirective::setPreCond ( Expr PC) [inline, protected]
void OMPLoopDirective::setUpdates ( ArrayRef< Expr * >  A) [protected]
ArrayRef<Expr *> clang::OMPLoopDirective::updates ( ) [inline]

Definition at line 389 of file StmtOpenMP.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitOMPLoopBody().

ArrayRef<Expr *> clang::OMPLoopDirective::updates ( ) const [inline]

Definition at line 391 of file StmtOpenMP.h.


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

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