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

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

#include "clang/AST/OpenMPClause.h"

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

Public Member Functions

OpenMPDependClauseKind getDependencyKind () const
 Get dependency type. More...
 
ExprgetModifier ()
 Return optional depend modifier. More...
 
const Expr * getModifier () 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
 

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)
 

Friends

class OMPClauseReader
 

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 4421 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range OMPDependClause::children ( )
inline

Definition at line 4532 of file OpenMPClause.h.

◆ children() [2/2]

const_child_range OMPDependClause::children ( ) const
inline

Definition at line 4537 of file OpenMPClause.h.

References clang::OMPClause::children().

◆ classof()

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

Definition at line 4549 of file OpenMPClause.h.

◆ 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 957 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate(), and setLoopData().

◆ 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 977 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate().

◆ getColonLoc()

SourceLocation OMPDependClause::getColonLoc ( ) const
inline

◆ getDependencyKind()

OpenMPDependClauseKind OMPDependClause::getDependencyKind ( ) const
inline

◆ getDependencyLoc()

SourceLocation OMPDependClause::getDependencyLoc ( ) const
inline

Get dependency type location.

Definition at line 4516 of file OpenMPClause.h.

Referenced by clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::ASTRecordWriter::writeOMPClause().

◆ getLoopData() [1/2]

Expr * OMPDependClause::getLoopData ( unsigned  NumLoop)

Get the loop data.

Definition at line 995 of file OpenMPClause.cpp.

Referenced by clang::CodeGen::emitDeclareSimdFunction(), and clang::ASTRecordWriter::writeOMPClause().

◆ getLoopData() [2/2]

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

Definition at line 1005 of file OpenMPClause.cpp.

◆ getModifier() [1/2]

Expr * OMPDependClause::getModifier ( )

Return optional depend modifier.

Definition at line 1018 of file OpenMPClause.cpp.

Referenced by clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::ASTRecordWriter::writeOMPClause().

◆ getModifier() [2/2]

const Expr* OMPDependClause::getModifier ( ) const
inline

Definition at line 4511 of file OpenMPClause.h.

References clang::getModifier().

◆ getNumLoops()

unsigned OMPDependClause::getNumLoops ( ) const
inline

Get number of loops associated with the clause.

Definition at line 4522 of file OpenMPClause.h.

Referenced by clang::CodeGen::emitDeclareSimdFunction(), clang::OMPClauseReader::VisitOMPClauseWithPostUpdate(), and clang::ASTRecordWriter::writeOMPClause().

◆ 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 985 of file OpenMPClause.cpp.

Referenced by Create(), and clang::OMPClauseReader::VisitOMPClauseWithPostUpdate().

◆ used_children() [1/2]

child_range OMPDependClause::used_children ( )
inline

Definition at line 4542 of file OpenMPClause.h.

◆ used_children() [2/2]

const_child_range OMPDependClause::used_children ( ) const
inline

Definition at line 4545 of file OpenMPClause.h.

Friends And Related Function Documentation

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 4424 of file OpenMPClause.h.


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