clang
7.0.0
|
This represents clause 'map' in the '#pragma omp ...' directives. More...
#include "clang/AST/OpenMPClause.h"
Public Member Functions | |
OpenMPMapClauseKind | getMapType () const LLVM_READONLY |
Fetches mapping kind for the clause. More... | |
bool | isImplicitMapType () const LLVM_READONLY |
Is this an implicit map type? We have to capture 'IsMapTypeImplicit' from the parser for more informative error messages. More... | |
OpenMPMapClauseKind | getMapTypeModifier () const LLVM_READONLY |
Fetches the map type modifier for the clause. More... | |
SourceLocation | getMapLoc () const LLVM_READONLY |
Fetches location of clause mapping kind. More... | |
SourceLocation | getColonLoc () const |
Get colon location. More... | |
child_range | children () |
![]() | |
unsigned | getUniqueDeclarationsNum () const |
Return the number of unique base declarations in this clause. More... | |
unsigned | getTotalComponentListNum () const |
Return the number of lists derived from the clause expressions. More... | |
unsigned | getTotalComponentsNum () const |
Return the total number of components in all lists derived from the clause. More... | |
const_component_lists_iterator | component_lists_begin () const |
Iterators for all component lists. More... | |
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. More... | |
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 |
Static Public Member Functions | |
static OMPMapClause * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< Expr *> Vars, ArrayRef< ValueDecl *> Declarations, MappableExprComponentListsRef ComponentLists, OpenMPMapClauseKind TypeModifier, OpenMPMapClauseKind Type, bool TypeIsImplicit, SourceLocation TypeLoc) |
Creates clause with a list of variables VL. More... | |
static OMPMapClause * | CreateEmpty (const ASTContext &C, unsigned NumVars, unsigned NumUniqueDeclarations, unsigned NumComponentLists, unsigned NumComponents) |
Creates an empty clause with the place for NumVars original expressions, NumUniqueDeclarations declarations, lists, and NumComponents expression components. More... | |
static bool | classof (const OMPClause *T) |
Friends | |
class | OMPClauseReader |
Additional Inherited Members | |
![]() | |
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. More... | |
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 | MappableExprComponentList = SmallVector< MappableComponent, 8 > |
using | MappableExprComponentListRef = ArrayRef< MappableComponent > |
using | MappableExprComponentLists = SmallVector< MappableExprComponentList, 8 > |
using | MappableExprComponentListsRef = ArrayRef< MappableExprComponentList > |
![]() | |
OMPMappableExprListClause (OpenMPClauseKind K, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, unsigned NumVars, unsigned NumUniqueDeclarations, unsigned NumComponentLists, unsigned NumComponents) | |
Build a clause for NumUniqueDeclarations declarations, NumComponentLists total component lists, and NumComponents total components. More... | |
MutableArrayRef< ValueDecl *> | getUniqueDeclsRef () |
Get the unique declarations that are in the trailing objects of the class. More... | |
ArrayRef< ValueDecl *> | getUniqueDeclsRef () const |
Get the unique declarations that are in the trailing objects of the class. More... | |
void | setUniqueDecls (ArrayRef< ValueDecl * > UDs) |
Set the unique declarations that are in the trailing objects of the class. More... | |
MutableArrayRef< unsigned > | getDeclNumListsRef () |
Get the number of lists per declaration that are in the trailing objects of the class. More... | |
ArrayRef< unsigned > | getDeclNumListsRef () const |
Get the number of lists per declaration that are in the trailing objects of the class. More... | |
void | setDeclNumLists (ArrayRef< unsigned > DNLs) |
Set the number of lists per declaration that are in the trailing objects of the class. More... | |
MutableArrayRef< unsigned > | getComponentListSizesRef () |
Get the cumulative component lists sizes that are in the trailing objects of the class. More... | |
ArrayRef< unsigned > | getComponentListSizesRef () const |
Get the cumulative component lists sizes that are in the trailing objects of the class. More... | |
void | setComponentListSizes (ArrayRef< unsigned > CLSs) |
Set the cumulative component lists sizes that are in the trailing objects of the class. More... | |
MutableArrayRef< MappableComponent > | getComponentsRef () |
Get the components that are in the trailing objects of the class. More... | |
ArrayRef< MappableComponent > | getComponentsRef () const |
Get the components that are in the trailing objects of the class. More... | |
void | setComponents (ArrayRef< MappableComponent > Components, ArrayRef< unsigned > CLSs) |
Set the components that are in the trailing objects of the class. More... | |
void | setClauseInfo (ArrayRef< ValueDecl * > Declarations, MappableExprComponentListsRef ComponentLists) |
Fill the clause information from the list of declarations and associated component lists. More... | |
![]() | |
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 3841 of file OpenMPClause.h.
|
inline |
Definition at line 3994 of file OpenMPClause.h.
Definition at line 4000 of file OpenMPClause.h.
|
static |
Creates clause with a list of variables VL.
C | AST context. |
StartLoc | Starting location of the clause. |
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. |
TypeModifier | Map type modifier. |
Type | Map type. |
TypeIsImplicit | Map type is inferred implicitly. |
TypeLoc | Location of the map type. |
Definition at line 784 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate(), and OMPMappableExprListClause< T >::setClauseInfo().
Referenced by clang::Sema::ActOnOpenMPMapClause().
|
static |
Creates an empty clause with the place for NumVars original expressions, NumUniqueDeclarations declarations, lists, and NumComponents expression components.
C | AST context. |
NumVars | Number of expressions listed in the clause. |
NumUniqueDeclarations | Number of unique base declarations in this clause. |
NumComponentLists | Number of unique base declarations in this clause. |
NumComponents | Total number of expression components in the clause. |
Definition at line 823 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate().
|
inline |
|
inline |
Fetches location of clause mapping kind.
Definition at line 3989 of file OpenMPClause.h.
|
inline |
Fetches mapping kind for the clause.
Definition at line 3974 of file OpenMPClause.h.
|
inline |
Fetches the map type modifier for the clause.
Definition at line 3984 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 3981 of file OpenMPClause.h.
|
friend |
Definition at line 3845 of file OpenMPClause.h.