clang 22.0.0git
clang::OMPDoacrossClause Class Referencefinal

This represents the 'doacross' clause for the '#pragma omp ordered' directive. More...

#include "clang/AST/OpenMPClause.h"

Inheritance diagram for clang::OMPDoacrossClause:
[legend]

Public Member Functions

OpenMPDoacrossClauseModifier getDependenceType () const
 Get dependence type.
SourceLocation getDependenceLoc () const
 Get dependence type location.
SourceLocation getColonLoc () const
 Get colon location.
unsigned getNumLoops () const
 Get number of loops associated with the clause.
void setLoopData (unsigned NumLoop, Expr *Cnt)
 Set the loop data.
ExprgetLoopData (unsigned NumLoop)
 Get the loop data.
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< OMPDoacrossClause >
unsigned varlist_size () const
bool varlist_empty () const
varlist_range varlist ()
varlist_iterator varlist_begin ()
varlist_iterator varlist_end ()
void setLParenLoc (SourceLocation Loc)
 Sets the location of '('.
SourceLocation getLParenLoc () const
 Returns the location of '('.
Public Member Functions inherited from clang::OMPClause
SourceLocation getBeginLoc () const
 Returns the starting location of the clause.
SourceLocation getEndLoc () const
 Returns the ending location of the clause.
void setLocStart (SourceLocation Loc)
 Sets the starting location of the clause.
void setLocEnd (SourceLocation Loc)
 Sets the ending location of the clause.
OpenMPClauseKind getClauseKind () const
 Returns kind of OpenMP clause (private, shared, reduction, etc.).
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.
const_child_range used_children () const

Static Public Member Functions

static OMPDoacrossClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, OpenMPDoacrossClauseModifier DepType, SourceLocation DepLoc, SourceLocation ColonLoc, ArrayRef< Expr * > VL, unsigned NumLoops)
 Creates clause with a list of expressions VL.
static OMPDoacrossClauseCreateEmpty (const ASTContext &C, unsigned N, unsigned NumLoops)
 Creates an empty clause with N expressions.
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< OMPDoacrossClause >
using varlist_iterator
using varlist_const_iterator
using varlist_range
using varlist_const_range
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< OMPDoacrossClause >
 OMPVarListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
 Build a clause with N variables.
MutableArrayRef< Expr * > getVarRefs ()
 Fetches list of variables associated with this clause.
void setVarRefs (ArrayRef< Expr * > VL)
 Sets the list of variables for this clause.
Protected Member Functions inherited from clang::OMPClause
 OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)

Detailed Description

This represents the 'doacross' clause for the '#pragma omp ordered' directive.

#pragma omp ordered doacross(sink: i-1, j-1)

In this example directive '#pragma omp ordered' with clause 'doacross' with a dependence-type 'sink' and loop-iteration vector expressions i-1 and j-1.

Definition at line 9780 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range clang::OMPDoacrossClause::children ( )
inline

◆ children() [2/2]

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

Definition at line 9881 of file OpenMPClause.h.

References Children, and children().

◆ classof()

bool clang::OMPDoacrossClause::classof ( const OMPClause * T)
inlinestatic

Definition at line 9893 of file OpenMPClause.h.

References clang::T.

◆ Create()

OMPDoacrossClause * OMPDoacrossClause::Create ( const ASTContext & C,
SourceLocation StartLoc,
SourceLocation LParenLoc,
SourceLocation EndLoc,
OpenMPDoacrossClauseModifier DepType,
SourceLocation DepLoc,
SourceLocation ColonLoc,
ArrayRef< Expr * > VL,
unsigned NumLoops )
static

Creates clause with a list of expressions VL.

Parameters
CAST context.
StartLocStarting location of the clause.
LParenLocLocation of '('.
EndLocEnding location of the clause.
DepTypeThe dependence type.
DepLocLocation of the dependence type.
ColonLocLocation of ':'.
VLList of references to the expressions.
NumLoopsNumber of loops that associated with the clause.

Definition at line 1699 of file OpenMPClause.cpp.

References clang::C.

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

◆ CreateEmpty()

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

Creates an empty clause with N expressions.

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

Definition at line 1717 of file OpenMPClause.cpp.

References clang::C.

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

◆ getColonLoc()

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

Get colon location.

Definition at line 9864 of file OpenMPClause.h.

◆ getDependenceLoc()

SourceLocation clang::OMPDoacrossClause::getDependenceLoc ( ) const
inline

Get dependence type location.

Definition at line 9861 of file OpenMPClause.h.

◆ getDependenceType()

OpenMPDoacrossClauseModifier clang::OMPDoacrossClause::getDependenceType ( ) const
inline

Get dependence type.

Definition at line 9858 of file OpenMPClause.h.

◆ getLoopData() [1/2]

Expr * OMPDoacrossClause::getLoopData ( unsigned NumLoop)

Get the loop data.

Definition at line 1731 of file OpenMPClause.cpp.

References clang::OMPVarListClause< OMPDoacrossClause >::getVarRefs().

◆ getLoopData() [2/2]

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

◆ getNumLoops()

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

Get number of loops associated with the clause.

Definition at line 9867 of file OpenMPClause.h.

◆ setLoopData()

void OMPDoacrossClause::setLoopData ( unsigned NumLoop,
Expr * Cnt )

Set the loop data.

Definition at line 1725 of file OpenMPClause.cpp.

References clang::OMPVarListClause< OMPDoacrossClause >::getVarRefs().

◆ used_children() [1/2]

child_range clang::OMPDoacrossClause::used_children ( )
inline

Definition at line 9886 of file OpenMPClause.h.

◆ used_children() [2/2]

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

Definition at line 9889 of file OpenMPClause.h.

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 9783 of file OpenMPClause.h.

References clang::OMPC_DOACROSS_unknown, and OMPClauseReader.

Referenced by OMPClauseReader.


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