clang 20.0.0git
|
This represents clause 'to' in the '#pragma omp ...' directives. More...
#include "clang/AST/OpenMPClause.h"
Public Member Functions | |
OpenMPMotionModifierKind | getMotionModifier (unsigned Cnt) const LLVM_READONLY |
Fetches the motion-modifier at 'Cnt' index of array of modifiers. | |
SourceLocation | getMotionModifierLoc (unsigned Cnt) const LLVM_READONLY |
Fetches the motion-modifier location at 'Cnt' index of array of modifiers' locations. | |
ArrayRef< OpenMPMotionModifierKind > | getMotionModifiers () const LLVM_READONLY |
Fetches ArrayRef of motion-modifiers. | |
ArrayRef< SourceLocation > | getMotionModifiersLoc () const LLVM_READONLY |
Fetches ArrayRef of location of motion-modifiers. | |
SourceLocation | getColonLoc () const |
Get colon location. | |
child_range | children () |
const_child_range | children () const |
child_range | used_children () |
const_child_range | used_children () const |
Public Member Functions inherited from clang::OMPMappableExprListClause< OMPToClause > | |
unsigned | getUniqueDeclarationsNum () const |
Return the number of unique base declarations in this clause. | |
unsigned | getTotalComponentListNum () const |
Return the number of lists derived from the clause expressions. | |
unsigned | getTotalComponentsNum () const |
Return the total number of components in all lists derived from the clause. | |
NestedNameSpecifierLoc | getMapperQualifierLoc () const |
Gets the nested name specifier for associated user-defined mapper. | |
const DeclarationNameInfo & | getMapperIdInfo () const |
Gets the name info for associated user-defined mapper. | |
const_component_lists_iterator | component_lists_begin () const |
Iterators for all component lists. | |
const_component_lists_iterator | component_lists_end () const |
const_component_lists_range | component_lists () const |
const_component_lists_iterator | decl_component_lists_begin (const ValueDecl *VD) const |
Iterators for component lists associated with the provided declaration. | |
const_component_lists_iterator | decl_component_lists_end () const |
const_component_lists_range | decl_component_lists (const ValueDecl *VD) const |
const_all_decls_range | all_decls () const |
const_all_num_lists_range | all_num_lists () const |
const_all_lists_sizes_range | all_lists_sizes () const |
const_all_components_range | all_components () const |
mapperlist_iterator | mapperlist_begin () |
mapperlist_const_iterator | mapperlist_begin () const |
mapperlist_iterator | mapperlist_end () |
mapperlist_const_iterator | mapperlist_end () const |
mapperlist_range | mapperlists () |
mapperlist_const_range | mapperlists () const |
Public Member Functions inherited from clang::OMPVarListClause< T > | |
unsigned | varlist_size () const |
bool | varlist_empty () const |
varlist_range | varlist () |
varlist_const_range | varlist () const |
varlist_iterator | varlist_begin () |
varlist_iterator | varlist_end () |
varlist_const_iterator | varlist_begin () const |
varlist_const_iterator | varlist_end () const |
void | setLParenLoc (SourceLocation Loc) |
Sets the location of '('. | |
SourceLocation | getLParenLoc () const |
Returns the location of '('. | |
ArrayRef< const Expr * > | getVarRefs () const |
Fetches list of all variables in the clause. | |
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 OMPToClause * | Create (const ASTContext &C, const OMPVarListLocTy &Locs, ArrayRef< Expr * > Vars, ArrayRef< ValueDecl * > Declarations, MappableExprComponentListsRef ComponentLists, ArrayRef< Expr * > UDMapperRefs, ArrayRef< OpenMPMotionModifierKind > MotionModifiers, ArrayRef< SourceLocation > MotionModifiersLoc, NestedNameSpecifierLoc UDMQualifierLoc, DeclarationNameInfo MapperId) |
Creates clause with a list of variables Vars. | |
static OMPToClause * | CreateEmpty (const ASTContext &C, const OMPMappableExprListSizeTy &Sizes) |
Creates an empty clause with the place for NumVars variables. | |
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::OMPMappableExprListClause< OMPToClause > | |
using | const_component_lists_range = llvm::iterator_range< const_component_lists_iterator > |
using | const_all_decls_iterator = ArrayRef< ValueDecl * >::iterator |
Iterators to access all the declarations, number of lists, list sizes, and components. | |
using | const_all_decls_range = llvm::iterator_range< const_all_decls_iterator > |
using | const_all_num_lists_iterator = ArrayRef< unsigned >::iterator |
using | const_all_num_lists_range = llvm::iterator_range< const_all_num_lists_iterator > |
using | const_all_lists_sizes_iterator = ArrayRef< unsigned >::iterator |
using | const_all_lists_sizes_range = llvm::iterator_range< const_all_lists_sizes_iterator > |
using | const_all_components_iterator = ArrayRef< MappableComponent >::iterator |
using | const_all_components_range = llvm::iterator_range< const_all_components_iterator > |
using | mapperlist_iterator = MutableArrayRef< Expr * >::iterator |
using | mapperlist_const_iterator = ArrayRef< const Expr * >::iterator |
using | mapperlist_range = llvm::iterator_range< mapperlist_iterator > |
using | mapperlist_const_range = llvm::iterator_range< mapperlist_const_iterator > |
Public Types inherited from clang::OMPVarListClause< T > | |
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 > |
Public Types inherited from clang::OMPClauseMappableExprCommon | |
using | MappableExprComponentList = SmallVector< MappableComponent, 8 > |
using | MappableExprComponentListRef = ArrayRef< MappableComponent > |
using | MappableExprComponentLists = SmallVector< MappableExprComponentList, 8 > |
using | MappableExprComponentListsRef = ArrayRef< MappableExprComponentList > |
Protected Member Functions inherited from clang::OMPMappableExprListClause< OMPToClause > | |
OMPMappableExprListClause (OpenMPClauseKind K, const OMPVarListLocTy &Locs, const OMPMappableExprListSizeTy &Sizes, bool SupportsMapper=false, NestedNameSpecifierLoc *MapperQualifierLocPtr=nullptr, DeclarationNameInfo *MapperIdInfoPtr=nullptr) | |
Build a clause for NumUniqueDeclarations declarations, NumComponentLists total component lists, and NumComponents total components. | |
MutableArrayRef< ValueDecl * > | getUniqueDeclsRef () |
Get the unique declarations that are in the trailing objects of the class. | |
ArrayRef< ValueDecl * > | getUniqueDeclsRef () const |
Get the unique declarations that are in the trailing objects of the class. | |
void | setUniqueDecls (ArrayRef< ValueDecl * > UDs) |
Set the unique declarations that are in the trailing objects of the class. | |
MutableArrayRef< unsigned > | getDeclNumListsRef () |
Get the number of lists per declaration that are in the trailing objects of the class. | |
ArrayRef< unsigned > | getDeclNumListsRef () const |
Get the number of lists per declaration that are in the trailing objects of the class. | |
void | setDeclNumLists (ArrayRef< unsigned > DNLs) |
Set the number of lists per declaration that are in the trailing objects of the class. | |
MutableArrayRef< unsigned > | getComponentListSizesRef () |
Get the cumulative component lists sizes that are in the trailing objects of the class. | |
ArrayRef< unsigned > | getComponentListSizesRef () const |
Get the cumulative component lists sizes that are in the trailing objects of the class. | |
void | setComponentListSizes (ArrayRef< unsigned > CLSs) |
Set the cumulative component lists sizes that are in the trailing objects of the class. | |
MutableArrayRef< MappableComponent > | getComponentsRef () |
Get the components that are in the trailing objects of the class. | |
ArrayRef< MappableComponent > | getComponentsRef () const |
Get the components that are in the trailing objects of the class. | |
void | setComponents (ArrayRef< MappableComponent > Components, ArrayRef< unsigned > CLSs) |
Set the components that are in the trailing objects of the class. | |
void | setClauseInfo (ArrayRef< ValueDecl * > Declarations, MappableExprComponentListsRef ComponentLists) |
Fill the clause information from the list of declarations and associated component lists. | |
void | setMapperQualifierLoc (NestedNameSpecifierLoc NNSL) |
Set the nested name specifier of associated user-defined mapper. | |
void | setMapperIdInfo (DeclarationNameInfo MapperId) |
Set the name of associated user-defined mapper. | |
MutableArrayRef< Expr * > | getUDMapperRefs () |
Get the user-defined mapper references that are in the trailing objects of the class. | |
ArrayRef< Expr * > | getUDMapperRefs () const |
Get the user-defined mappers references that are in the trailing objects of the class. | |
void | setUDMapperRefs (ArrayRef< Expr * > DMDs) |
Set the user-defined mappers that are in the trailing objects of the class. | |
Protected Member Functions inherited from clang::OMPVarListClause< T > | |
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) | |
Static Protected Member Functions inherited from clang::OMPClauseMappableExprCommon | |
static unsigned | getComponentsTotalNumber (MappableExprComponentListsRef ComponentLists) |
static unsigned | getUniqueDeclarationsTotalNumber (ArrayRef< const ValueDecl * > Declarations) |
This represents clause 'to' in the '#pragma omp ...' directives.
In this example directive '#pragma omp target update' has clause 'to' with the variables 'a' and 'b'.
Definition at line 7153 of file OpenMPClause.h.
|
inline |
Definition at line 7323 of file OpenMPClause.h.
References clang::OMPVarListClause< T >::varlist_begin(), and clang::OMPVarListClause< T >::varlist_end().
Referenced by children().
|
inline |
Definition at line 7328 of file OpenMPClause.h.
References children().
Definition at line 7340 of file OpenMPClause.h.
References clang::T.
|
static |
Creates clause with a list of variables Vars.
C | AST context. |
Locs | Locations needed to build a mappable clause. It includes 1) StartLoc: starting location of the clause (the clause keyword); 2) LParenLoc: location of '('; 3) EndLoc: ending location of the clause. |
Vars | The original expression used in the clause. |
Declarations | Declarations used in the clause. |
ComponentLists | Component lists used in the clause. |
MotionModifiers | Motion-modifiers. |
MotionModifiersLoc | Location of motion-modifiers. |
UDMapperRefs | References to user-defined mappers associated with expressions used in the clause. |
UDMQualifierLoc | C++ nested name specifier for the associated user-defined mapper. |
MapperId | The identifier of associated user-defined mapper. |
Definition at line 1197 of file OpenMPClause.cpp.
References clang::C, clang::OMPClauseMappableExprCommon::getComponentsTotalNumber(), clang::OMPClauseMappableExprCommon::getUniqueDeclarationsTotalNumber(), clang::OMPMappableExprListSizeTy::NumComponentLists, clang::OMPMappableExprListSizeTy::NumComponents, clang::OMPMappableExprListSizeTy::NumUniqueDeclarations, clang::OMPMappableExprListSizeTy::NumVars, and clang::OMPVarListClause< T >::setVarRefs().
Referenced by clang::SemaOpenMP::ActOnOpenMPToClause().
|
static |
Creates an empty clause with the place for NumVars variables.
C | AST context. |
Sizes | All required sizes to build a mappable clause. It includes 1) NumVars: number of expressions listed in this clause; 2) NumUniqueDeclarations: number of unique base declarations in this clause; 3) NumComponentLists: number of component lists in this clause; and 4) NumComponents: total number of expression components in the clause. |
Definition at line 1236 of file OpenMPClause.cpp.
References clang::C, clang::OMPMappableExprListSizeTy::NumComponentLists, clang::OMPMappableExprListSizeTy::NumComponents, clang::OMPMappableExprListSizeTy::NumUniqueDeclarations, and clang::OMPMappableExprListSizeTy::NumVars.
Referenced by clang::OMPClauseReader::readClause().
|
inline |
Get colon location.
Definition at line 7321 of file OpenMPClause.h.
|
inline |
Fetches the motion-modifier at 'Cnt' index of array of modifiers.
Cnt | index for motion-modifier. |
Definition at line 7294 of file OpenMPClause.h.
References clang::NumberOfOMPMotionModifiers.
|
inline |
Fetches the motion-modifier location at 'Cnt' index of array of modifiers' locations.
Cnt | index for motion-modifier location. |
Definition at line 7304 of file OpenMPClause.h.
References clang::NumberOfOMPMotionModifiers.
|
inline |
Fetches ArrayRef of motion-modifiers.
Definition at line 7311 of file OpenMPClause.h.
|
inline |
Fetches ArrayRef of location of motion-modifiers.
Definition at line 7316 of file OpenMPClause.h.
|
inline |
Definition at line 7333 of file OpenMPClause.h.
|
inline |
Definition at line 7336 of file OpenMPClause.h.
|
friend |
Definition at line 7157 of file OpenMPClause.h.