clang 24.0.0git
OMPTargetTeamsDistributeParallelForDirective Class Referencefinal

This represents '#pragma omp target teams distribute parallel for' combined directive. More...

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for OMPTargetTeamsDistributeParallelForDirective:
[legend]

Public Member Functions

Expr * getTaskReductionRefExpr ()
 Returns special task reduction reference expression.
const Expr * getTaskReductionRefExpr () const
bool hasCancel () const
 Return true if current directive has inner cancel directive.
Public Member Functions inherited from OMPLoopDirective
Expr * getIterationVariable () const
Expr * getLastIteration () const
Expr * getCalcLastIteration () const
Expr * getPreCond () const
Expr * getCond () const
Expr * getInit () const
Expr * getInc () const
const Stmt * getPreInits () const
Stmt * getPreInits ()
Expr * getIsLastIterVariable () const
Expr * getLowerBoundVariable () const
Expr * getUpperBoundVariable () const
Expr * getStrideVariable () const
Expr * getEnsureUpperBound () const
Expr * getNextLowerBound () const
Expr * getNextUpperBound () const
Expr * getNumIterations () const
Expr * getPrevLowerBoundVariable () const
Expr * getPrevUpperBoundVariable () const
Expr * getDistInc () const
Expr * getPrevEnsureUpperBound () const
Expr * getCombinedLowerBoundVariable () const
Expr * getCombinedUpperBoundVariable () const
Expr * getCombinedEnsureUpperBound () const
Expr * getCombinedInit () const
Expr * getCombinedCond () const
Expr * getCombinedNextLowerBound () const
Expr * getCombinedNextUpperBound () const
Expr * getCombinedDistCond () const
Expr * getCombinedParForInDistCond () const
StmtgetBody ()
const Stmt * getBody () 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
ArrayRef< Expr * > dependent_counters ()
ArrayRef< Expr * > dependent_counters () const
ArrayRef< Expr * > dependent_inits ()
ArrayRef< Expr * > dependent_inits () const
ArrayRef< Expr * > finals_conditions ()
ArrayRef< Expr * > finals_conditions () const

Static Public Member Functions

static OMPTargetTeamsDistributeParallelForDirectiveCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs, Expr *TaskRedRef, bool HasCancel)
 Creates directive with a list of Clauses.
static OMPTargetTeamsDistributeParallelForDirectiveCreateEmpty (const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell)
 Creates an empty directive with the place for NumClauses clauses.
static bool classof (const Stmt *T)
Static Public Member Functions inherited from OMPLoopDirective
static bool classof (const Stmt *T)

Friends

class ASTStmtReader
class OMPExecutableDirective

Additional Inherited Members

Protected Member Functions inherited from OMPLoopDirective
 OMPLoopDirective (StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum)
 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)
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 setDistInc (Expr *DistInc)
void setPrevEnsureUpperBound (Expr *PrevEUB)
void setCombinedLowerBoundVariable (Expr *CombLB)
void setCombinedUpperBoundVariable (Expr *CombUB)
void setCombinedEnsureUpperBound (Expr *CombEUB)
void setCombinedInit (Expr *CombInit)
void setCombinedCond (Expr *CombCond)
void setCombinedNextLowerBound (Expr *CombNLB)
void setCombinedNextUpperBound (Expr *CombNUB)
void setCombinedDistCond (Expr *CombDistCond)
void setCombinedParForInDistCond (Expr *CombParForInDistCond)
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)
void setDependentCounters (ArrayRef< Expr * > A)
void setDependentInits (ArrayRef< Expr * > A)
void setFinalsConditions (ArrayRef< Expr * > A)
Static Protected Member Functions inherited from OMPLoopDirective
static unsigned getArraysOffset (OpenMPDirectiveKind Kind)
 Offset to the start of children expression arrays.
static unsigned numLoopChildren (unsigned CollapsedNum, OpenMPDirectiveKind Kind)
 Children number.

Detailed Description

This represents '#pragma omp target teams distribute parallel for' combined directive.

#pragma omp target teams distribute parallel for private(x)

In this example directive '#pragma omp target teams distribute parallel for' has clause 'private' with the variables 'x'

Definition at line 5453 of file StmtOpenMP.h.

Member Function Documentation

◆ classof()

bool OMPTargetTeamsDistributeParallelForDirective::classof ( const Stmt * T)
inlinestatic

Definition at line 5536 of file StmtOpenMP.h.

◆ Create()

OMPTargetTeamsDistributeParallelForDirective * OMPTargetTeamsDistributeParallelForDirective::Create ( const ASTContext & C,
SourceLocation StartLoc,
SourceLocation EndLoc,
unsigned CollapsedNum,
ArrayRef< OMPClause * > Clauses,
Stmt * AssociatedStmt,
const HelperExprs & Exprs,
Expr * TaskRedRef,
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.
TaskRedRefTask reduction special reference expression to handle taskgroup descriptor.
HasCanceltrue if this directive has inner cancel directive.

Definition at line 2336 of file StmtOpenMP.cpp.

References clang::C, and OMPLoopDirective::numLoopChildren().

Referenced by clang::SemaOpenMP::ActOnOpenMPTargetTeamsDistributeParallelForDirective().

◆ CreateEmpty()

OMPTargetTeamsDistributeParallelForDirective * OMPTargetTeamsDistributeParallelForDirective::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 2388 of file StmtOpenMP.cpp.

References clang::C, and OMPLoopDirective::numLoopChildren().

◆ getTaskReductionRefExpr() [1/2]

Expr * OMPTargetTeamsDistributeParallelForDirective::getTaskReductionRefExpr ( )
inline

Returns special task reduction reference expression.

Definition at line 5523 of file StmtOpenMP.h.

References OMPLoopDirective::numLoopChildren().

Referenced by getTaskReductionRefExpr().

◆ getTaskReductionRefExpr() [2/2]

const Expr * OMPTargetTeamsDistributeParallelForDirective::getTaskReductionRefExpr ( ) const
inline

Definition at line 5528 of file StmtOpenMP.h.

References getTaskReductionRefExpr().

◆ hasCancel()

bool OMPTargetTeamsDistributeParallelForDirective::hasCancel ( ) const
inline

Return true if current directive has inner cancel directive.

Definition at line 5534 of file StmtOpenMP.h.

◆ ASTStmtReader

friend class ASTStmtReader
friend

Definition at line 5455 of file StmtOpenMP.h.

References ASTStmtReader.

Referenced by ASTStmtReader.

◆ OMPExecutableDirective

friend class OMPExecutableDirective
friend

Definition at line 5456 of file StmtOpenMP.h.

References OMPExecutableDirective, and OMPLoopDirective::OMPLoopDirective().

Referenced by OMPExecutableDirective.


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