clang 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::OMPPermutationClause Class Referencefinal

This class represents the 'permutation' clause in the '#pragma omp interchange' directive. More...

#include "clang/AST/OpenMPClause.h"

Inheritance diagram for clang::OMPPermutationClause:
Inheritance graph
[legend]

Public Member Functions

void setLParenLoc (SourceLocation Loc)
 Sets the location of '('.
 
SourceLocation getLParenLoc () const
 Returns the location of '('.
 
unsigned getNumLoops () const
 Returns the number of list items.
 
child_range children ()
 
const_child_range children () const
 
child_range used_children ()
 
const_child_range used_children () const
 
MutableArrayRef< Expr * > getArgsRefs ()
 Returns the permutation index expressions.
 
ArrayRef< Expr * > getArgsRefs () const
 
- 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 OMPPermutationClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< Expr * > Args)
 Build a 'permutation' clause AST node.
 
static OMPPermutationClauseCreateEmpty (const ASTContext &C, unsigned NumLoops)
 Build an empty 'permutation' AST node for deserialization.
 
static bool classof (const OMPClause *T)
 
- Static Public Member Functions inherited from clang::OMPClause
static bool classof (const OMPClause *)
 

Friends

class OMPClauseReader
 
class llvm::TrailingObjects< OMPSizesClause, Expr * >
 

Additional Inherited Members

- 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::OMPClause
 OMPClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation EndLoc)
 

Detailed Description

This class represents the 'permutation' clause in the '#pragma omp interchange' directive.

#pragma omp interchange permutation(2,1)
for (int i = 0; i < 64; ++i)
for (int j = 0; j < 64; ++j)

Definition at line 966 of file OpenMPClause.h.

Member Function Documentation

◆ children() [1/2]

child_range clang::OMPPermutationClause::children ( )
inline

Definition at line 1034 of file OpenMPClause.h.

References getArgsRefs().

◆ children() [2/2]

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

Definition at line 1039 of file OpenMPClause.h.

References getArgsRefs().

◆ classof()

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

Definition at line 1052 of file OpenMPClause.h.

References clang::T.

◆ Create()

OMPPermutationClause * OMPPermutationClause::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  EndLoc,
ArrayRef< Expr * >  Args 
)
static

Build a 'permutation' clause AST node.

Parameters
CContext of the AST.
StartLocLocation of the 'permutation' identifier.
LParenLocLocation of '('.
EndLocLocation of ')'.
ArgsContent of the clause.

Definition at line 973 of file OpenMPClause.cpp.

References clang::C, CreateEmpty(), clang::OMPClause::setLocEnd(), clang::OMPClause::setLocStart(), and setLParenLoc().

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

◆ CreateEmpty()

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

Build an empty 'permutation' AST node for deserialization.

Parameters
CContext of the AST.
NumLoopsNumber of arguments in the clause.

Definition at line 986 of file OpenMPClause.cpp.

References clang::C.

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

◆ getArgsRefs() [1/2]

MutableArrayRef< Expr * > clang::OMPPermutationClause::getArgsRefs ( )
inline

Returns the permutation index expressions.

Definition at line 1022 of file OpenMPClause.h.

Referenced by clang::SemaOpenMP::ActOnOpenMPInterchangeDirective(), and children().

◆ getArgsRefs() [2/2]

ArrayRef< Expr * > clang::OMPPermutationClause::getArgsRefs ( ) const
inline

Definition at line 1027 of file OpenMPClause.h.

◆ getLParenLoc()

SourceLocation clang::OMPPermutationClause::getLParenLoc ( ) const
inline

Returns the location of '('.

Definition at line 1015 of file OpenMPClause.h.

◆ getNumLoops()

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

Returns the number of list items.

Definition at line 1018 of file OpenMPClause.h.

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

◆ setLParenLoc()

void clang::OMPPermutationClause::setLParenLoc ( SourceLocation  Loc)
inline

Sets the location of '('.

Definition at line 1012 of file OpenMPClause.h.

References Loc.

Referenced by Create().

◆ used_children() [1/2]

child_range clang::OMPPermutationClause::used_children ( )
inline

Definition at line 1045 of file OpenMPClause.h.

◆ used_children() [2/2]

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

Definition at line 1048 of file OpenMPClause.h.

Friends And Related Function Documentation

◆ llvm::TrailingObjects< OMPSizesClause, Expr * >

friend class llvm::TrailingObjects< OMPSizesClause, Expr * >
friend

Definition at line 969 of file OpenMPClause.h.

◆ OMPClauseReader

friend class OMPClauseReader
friend

Definition at line 969 of file OpenMPClause.h.


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