clang  13.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPDependClause Class Referencefinal

This represents implicit clause 'depend' for the '#pragma omp task' directive. More...

#include "clang/AST/OpenMPClause.h"

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

Public Member Functions

OpenMPDependClauseKind getDependencyKind () const
 Get dependency type. More...
 
ExprgetModifier ()
 Return optional depend modifier. More...
 
const ExprgetModifier () const
 
SourceLocation getDependencyLoc () const
 Get dependency type location. More...
 
SourceLocation getColonLoc () const
 Get colon location. More...
 
unsigned getNumLoops () const
 Get number of loops associated with the clause. More...
 
void setLoopData (unsigned NumLoop, Expr *Cnt)
 Set the loop data for the depend clauses with 'sink|source' kind of dependency. More...
 
ExprgetLoopData (unsigned NumLoop)
 Get the loop data. More...
 
const ExprgetLoopData (unsigned NumLoop) const
 
child_range children ()
 
const_child_range children () const
 
child_range used_children ()
 
const_child_range used_children () const
 
- Public Member Functions inherited from clang::OMPVarListClause< OMPDependClause >
ArrayRef< const Expr * > getVarRefs () const
 Fetches list of all variables in the clause. More...
 
unsigned varlist_size () const
 
bool varlist_empty () const
 
varlist_range varlists ()
 
varlist_const_range varlists () const
 
varlist_iterator varlist_begin ()
 
varlist_const_iterator varlist_begin () const
 
varlist_iterator varlist_end ()
 
varlist_const_iterator varlist_end () const
 
void setLParenLoc (SourceLocation Loc)
 Sets the location of '('. More...
 
SourceLocation getLParenLoc () const
 Returns the location of '('. More...
 
- Public Member Functions inherited from clang::OMPClause
SourceLocation getBeginLoc () const
 Returns the starting location of the clause. More...
 
SourceLocation getEndLoc () const
 Returns the ending location of the clause. More...
 
void setLocStart (SourceLocation Loc)
 Sets the starting location of the clause. More...
 
void setLocEnd (SourceLocation Loc)
 Sets the ending location of the clause. More...
 
OpenMPClauseKind getClauseKind () const
 Returns kind of OpenMP clause (private, shared, reduction, etc.). More...
 
bool isImplicit () const
 
child_range children ()
 
const_child_range children () const
 
child_range used_children ()
 Get the iterator range for the expressions used in the clauses. More...
 
const_child_range used_children () const
 

Static Public Member Functions

static OMPDependClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, Expr *DepModifier, OpenMPDependClauseKind DepKind, SourceLocation DepLoc, SourceLocation ColonLoc, ArrayRef< Expr * > VL, unsigned NumLoops)
 Creates clause with a list of variables VL. More...
 
static OMPDependClauseCreateEmpty (const ASTContext &C, unsigned N, unsigned NumLoops)
 Creates an empty clause with N variables. More...
 
static bool classof (const OMPClause *T)
 
- Static Public Member Functions inherited from clang::OMPClause
static bool classof (const OMPClause *)
 

Friends

class OMPClauseReader
 

Additional Inherited Members

- Public Types inherited from clang::OMPVarListClause< OMPDependClause >
using varlist_iterator = MutableArrayRef< Expr * >::iterator
 
using varlist_const_iterator = ArrayRef< const Expr * >::iterator
 
using varlist_range = llvm::iterator_range< varlist_iterator >
 
using varlist_const_range = llvm::iterator_range< varlist_const_iterator >
 
- Public Types inherited from clang::OMPClause
using child_iterator = StmtIterator
 
using const_child_iterator = ConstStmtIterator
 
using child_range = llvm::iterator_range< child_iterator >
 
using const_child_range = llvm::iterator_range< const_child_iterator >
 
- Protected Member Functions inherited from clang::OMPVarListClause< OMPDependClause >
 OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
 Build a clause with N variables. More...
 
MutableArrayRef< Expr * > getVarRefs ()
 Fetches list of variables associated with this clause. More...
 
void setVarRefs (ArrayRef< Expr * > VL)
 Sets the list of variables for this clause. More...
 
- Protected Member Functions inherited from clang::OMPClause
 OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)
 

Detailed Description

This represents implicit clause 'depend' for the '#pragma omp task' directive.

#pragma omp task depend(in:a,b)

In this example directive '#pragma omp task' with clause 'depend' with the variables 'a' and 'b' with dependency 'in'.

Definition at line 4517 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range clang::OMPDependClause::children ( )
inline

◆ children() [2/2]

const_child_range clang::OMPDependClause::children ( ) const
inline

Definition at line 4633 of file OpenMPClause.h.

References children().

◆ classof()

static bool clang::OMPDependClause::classof ( const OMPClause T)
inlinestatic

Definition at line 4645 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

◆ Create()

OMPDependClause * OMPDependClause::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  EndLoc,
Expr DepModifier,
OpenMPDependClauseKind  DepKind,
SourceLocation  DepLoc,
SourceLocation  ColonLoc,
ArrayRef< Expr * >  VL,
unsigned  NumLoops 
)
static

Creates clause with a list of variables VL.

Parameters
CAST context.
StartLocStarting location of the clause.
LParenLocLocation of '('.
EndLocEnding location of the clause.
DepKindDependency type.
DepLocLocation of the dependency type.
ColonLocColon location.
VLList of references to the variables.
NumLoopsNumber of loops that is associated with this depend clause.

Definition at line 996 of file OpenMPClause.cpp.

References setLoopData(), and clang::OMPVarListClause< T >::setVarRefs().

Referenced by clang::Sema::ActOnOpenMPDependClause().

◆ CreateEmpty()

OMPDependClause * OMPDependClause::CreateEmpty ( const ASTContext C,
unsigned  N,
unsigned  NumLoops 
)
static

Creates an empty clause with N variables.

Parameters
CAST context.
NThe number of variables.
NumLoopsNumber of loops that is associated with this depend clause.

Definition at line 1016 of file OpenMPClause.cpp.

Referenced by clang::OMPClauseReader::readClause().

◆ getColonLoc()

SourceLocation clang::OMPDependClause::getColonLoc ( ) const
inline

Get colon location.

Definition at line 4615 of file OpenMPClause.h.

◆ getDependencyKind()

OpenMPDependClauseKind clang::OMPDependClause::getDependencyKind ( ) const
inline

Get dependency type.

Definition at line 4603 of file OpenMPClause.h.

◆ getDependencyLoc()

SourceLocation clang::OMPDependClause::getDependencyLoc ( ) const
inline

Get dependency type location.

Definition at line 4612 of file OpenMPClause.h.

◆ getLoopData() [1/2]

Expr * OMPDependClause::getLoopData ( unsigned  NumLoop)

Get the loop data.

Definition at line 1034 of file OpenMPClause.cpp.

◆ getLoopData() [2/2]

const Expr * OMPDependClause::getLoopData ( unsigned  NumLoop) const

Definition at line 1044 of file OpenMPClause.cpp.

◆ getModifier() [1/2]

Expr * OMPDependClause::getModifier ( )

Return optional depend modifier.

Definition at line 1057 of file OpenMPClause.cpp.

Referenced by getModifier().

◆ getModifier() [2/2]

const Expr* clang::OMPDependClause::getModifier ( ) const
inline

Definition at line 4607 of file OpenMPClause.h.

References getModifier().

◆ getNumLoops()

unsigned clang::OMPDependClause::getNumLoops ( ) const
inline

Get number of loops associated with the clause.

Definition at line 4618 of file OpenMPClause.h.

◆ setLoopData()

void OMPDependClause::setLoopData ( unsigned  NumLoop,
Expr Cnt 
)

Set the loop data for the depend clauses with 'sink|source' kind of dependency.

Definition at line 1024 of file OpenMPClause.cpp.

Referenced by Create().

◆ used_children() [1/2]

child_range clang::OMPDependClause::used_children ( )
inline

Definition at line 4638 of file OpenMPClause.h.

◆ used_children() [2/2]

const_child_range clang::OMPDependClause::used_children ( ) const
inline

Definition at line 4641 of file OpenMPClause.h.

Friends And Related Function Documentation

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 4520 of file OpenMPClause.h.


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