|
clang 23.0.0git
|
This represents clause 'map' in the '#pragma omp ...' directives. More...
#include "clang/AST/OpenMPClause.h"
Public Member Functions | |
| Expr * | getIteratorModifier () |
| Fetches Expr * of iterator modifier. | |
| OpenMPMapClauseKind | getMapType () const LLVM_READONLY |
| Fetches mapping kind for the clause. | |
| bool | isImplicitMapType () const LLVM_READONLY |
| Is this an implicit map type? We have to capture 'IsMapTypeImplicit' from the parser for more informative error messages. It helps distinguish map(r) from map(tofrom: r), which is important to print more helpful error messages for some target directives. | |
| OpenMPMapModifierKind | getMapTypeModifier (unsigned Cnt) const LLVM_READONLY |
| Fetches the map-type-modifier at 'Cnt' index of array of modifiers. | |
| SourceLocation | getMapTypeModifierLoc (unsigned Cnt) const LLVM_READONLY |
| Fetches the map-type-modifier location at 'Cnt' index of array of modifiers' locations. | |
| ArrayRef< OpenMPMapModifierKind > | getMapTypeModifiers () const LLVM_READONLY |
| Fetches ArrayRef of map-type-modifiers. | |
| ArrayRef< SourceLocation > | getMapTypeModifiersLoc () const LLVM_READONLY |
| Fetches ArrayRef of location of map-type-modifiers. | |
| SourceLocation | getMapLoc () const LLVM_READONLY |
| Fetches location of clause mapping kind. | |
| 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 OMPMappableExprListClause< OMPMapClause > | |
| 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_iterator | mapperlist_end () |
| mapperlist_range | mapperlists () |
Static Public Member Functions | |
| static OMPMapClause * | Create (const ASTContext &C, const OMPVarListLocTy &Locs, ArrayRef< Expr * > Vars, ArrayRef< ValueDecl * > Declarations, MappableExprComponentListsRef ComponentLists, ArrayRef< Expr * > UDMapperRefs, Expr *IteratorModifier, ArrayRef< OpenMPMapModifierKind > MapModifiers, ArrayRef< SourceLocation > MapModifiersLoc, NestedNameSpecifierLoc UDMQualifierLoc, DeclarationNameInfo MapperId, OpenMPMapClauseKind Type, bool TypeIsImplicit, SourceLocation TypeLoc) |
| Creates clause with a list of variables VL. | |
| static OMPMapClause * | CreateEmpty (const ASTContext &C, const OMPMappableExprListSizeTy &Sizes) |
| Creates an empty clause with the place for NumVars original expressions, NumUniqueDeclarations declarations, \NumComponentLists lists, and NumComponents expression components. | |
| static bool | classof (const OMPClause *T) |
| Static Public Member Functions inherited from OMPClauseMappableExprCommon | |
| static QualType | getComponentExprElementType (const Expr *Exp) |
Get the type of an element of a ComponentList Expr Exp. | |
| static std::pair< const Expr *, std::optional< size_t > > | findAttachPtrExpr (MappableExprComponentListRef Components, OpenMPDirectiveKind CurDirKind) |
| Find the attach pointer expression from a list of mappable expression components. | |
Friends | |
| class | OMPClauseReader |
Additional Inherited Members | |
| Public Types inherited from OMPMappableExprListClause< OMPMapClause > | |
| using | const_component_lists_range |
| using | const_all_decls_iterator |
| Iterators to access all the declarations, number of lists, list sizes, and components. | |
| using | const_all_decls_range |
| using | const_all_num_lists_iterator |
| using | const_all_num_lists_range |
| using | const_all_lists_sizes_iterator |
| using | const_all_lists_sizes_range |
| using | const_all_components_iterator |
| using | const_all_components_range |
| using | mapperlist_iterator |
| using | mapperlist_const_iterator |
| using | mapperlist_range |
| using | mapperlist_const_range |
| Public Types inherited from OMPClauseMappableExprCommon | |
| using | MappableExprComponentList = SmallVector<MappableComponent, 8> |
| using | MappableExprComponentListRef = ArrayRef<MappableComponent> |
| using | MappableExprComponentLists = SmallVector<MappableExprComponentList, 8> |
| using | MappableExprComponentListsRef = ArrayRef<MappableExprComponentList> |
| Protected Member Functions inherited from OMPMappableExprListClause< OMPMapClause > | |
| 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. | |
| 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. | |
| 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. They are appended after the number of lists. | |
| 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. | |
| void | setComponents (ArrayRef< MappableComponent > Components, ArrayRef< unsigned > CLSs) |
| Set the components that are in the trailing objects of the class. This requires the list sizes so that it can also fill the original expressions, which are the first component of each list. | |
| 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. | |
| void | setUDMapperRefs (ArrayRef< Expr * > DMDs) |
| Set the user-defined mappers that are in the trailing objects of the class. | |
| Static Protected Member Functions inherited from OMPClauseMappableExprCommon | |
| static unsigned | getComponentsTotalNumber (MappableExprComponentListsRef ComponentLists) |
| static unsigned | getUniqueDeclarationsTotalNumber (ArrayRef< const ValueDecl * > Declarations) |
This represents clause 'map' in the '#pragma omp ...' directives.
In this example directive '#pragma omp target' has clause 'map' with the variables 'a' and 'b'.
Definition at line 6608 of file OpenMPClause.h.
|
inline |
Definition at line 6837 of file OpenMPClause.h.
Referenced by children().
|
inline |
Definition at line 6843 of file OpenMPClause.h.
References children().
Definition at line 6858 of file OpenMPClause.h.
|
static |
Creates clause with a list of variables VL.
| 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. |
| UDMapperRefs | References to user-defined mappers associated with expressions used in the clause. |
| IteratorModifier | Iterator modifier. |
| MapModifiers | Map-type-modifiers. |
| MapModifiersLoc | Location of map-type-modifiers. |
| UDMQualifierLoc | C++ nested name specifier for the associated user-defined mapper. |
| MapperId | The identifier of associated user-defined mapper. |
| Type | Map type. |
| TypeIsImplicit | Map type is inferred implicitly. |
| TypeLoc | Location of the map type. |
Definition at line 1264 of file OpenMPClause.cpp.
References clang::C, OMPClauseMappableExprCommon::getComponentsTotalNumber(), OMPClauseMappableExprCommon::getUniqueDeclarationsTotalNumber(), OMPMappableExprListSizeTy::NumComponentLists, OMPMappableExprListSizeTy::NumComponents, OMPMappableExprListSizeTy::NumUniqueDeclarations, and OMPMappableExprListSizeTy::NumVars.
Referenced by clang::SemaOpenMP::ActOnOpenMPMapClause().
|
static |
Creates an empty clause with the place for NumVars original expressions, NumUniqueDeclarations declarations, \NumComponentLists lists, and NumComponents expression components.
| 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 1308 of file OpenMPClause.cpp.
References clang::C, OMPMappableExprListSizeTy::NumComponentLists, OMPMappableExprListSizeTy::NumComponents, OMPMappableExprListSizeTy::NumUniqueDeclarations, and OMPMappableExprListSizeTy::NumVars.
Referenced by clang::OMPClauseReader::readClause().
|
inline |
Get colon location.
Definition at line 6835 of file OpenMPClause.h.
|
inline |
Fetches Expr * of iterator modifier.
Definition at line 6788 of file OpenMPClause.h.
|
inline |
Fetches location of clause mapping kind.
Definition at line 6832 of file OpenMPClause.h.
|
inline |
Fetches mapping kind for the clause.
Definition at line 6793 of file OpenMPClause.h.
|
inline |
Fetches the map-type-modifier at 'Cnt' index of array of modifiers.
| Cnt | index for map-type-modifier. |
Definition at line 6805 of file OpenMPClause.h.
|
inline |
Fetches the map-type-modifier location at 'Cnt' index of array of modifiers' locations.
| Cnt | index for map-type-modifier location. |
Definition at line 6815 of file OpenMPClause.h.
|
inline |
Fetches ArrayRef of map-type-modifiers.
Definition at line 6822 of file OpenMPClause.h.
|
inline |
Fetches ArrayRef of location of map-type-modifiers.
Definition at line 6827 of file OpenMPClause.h.
|
inline |
Is this an implicit map type? We have to capture 'IsMapTypeImplicit' from the parser for more informative error messages. It helps distinguish map(r) from map(tofrom: r), which is important to print more helpful error messages for some target directives.
Definition at line 6800 of file OpenMPClause.h.
|
inline |
Definition at line 6847 of file OpenMPClause.h.
Referenced by used_children().
|
inline |
Definition at line 6853 of file OpenMPClause.h.
References used_children().
|
friend |
Definition at line 6612 of file OpenMPClause.h.
References OMPClauseReader.
Referenced by OMPClauseReader.