clang
9.0.0
|
This represents clause 'is_device_ptr' in the '#pragma omp ...' directives. More...
#include "clang/AST/OpenMPClause.h"
Public Member Functions | |
child_range | children () |
const_child_range | children () const |
child_range | used_children () |
const_child_range | used_children () const |
![]() | |
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... | |
NestedNameSpecifierLoc | getMapperQualifierLoc () const |
Gets the nested name specifier for associated user-defined mapper. More... | |
const DeclarationNameInfo & | getMapperIdInfo () const |
Gets the name info for associated user-defined mapper. 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 |
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 |
Static Public Member Functions | |
static OMPIsDevicePtrClause * | Create (const ASTContext &C, const OMPVarListLocTy &Locs, ArrayRef< Expr *> Vars, ArrayRef< ValueDecl *> Declarations, MappableExprComponentListsRef ComponentLists) |
Creates clause with a list of variables Vars. More... | |
static OMPIsDevicePtrClause * | CreateEmpty (const ASTContext &C, const OMPMappableExprListSizeTy &Sizes) |
Creates an empty clause with the place for NumVars variables. 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 | 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 > |
![]() | |
using | MappableExprComponentList = SmallVector< MappableComponent, 8 > |
using | MappableExprComponentListRef = ArrayRef< MappableComponent > |
using | MappableExprComponentLists = SmallVector< MappableExprComponentList, 8 > |
using | MappableExprComponentListsRef = ArrayRef< MappableExprComponentList > |
![]() | |
OMPMappableExprListClause (OpenMPClauseKind K, const OMPVarListLocTy &Locs, const OMPMappableExprListSizeTy &Sizes, NestedNameSpecifierLoc *MapperQualifierLocPtr=nullptr, DeclarationNameInfo *MapperIdInfoPtr=nullptr) | |
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... | |
void | setMapperQualifierLoc (NestedNameSpecifierLoc NNSL) |
Set the nested name specifier of associated user-defined mapper. More... | |
void | setMapperIdInfo (DeclarationNameInfo MapperId) |
Set the name of associated user-defined mapper. More... | |
MutableArrayRef< Expr *> | getUDMapperRefs () |
Get the user-defined mapper references that are in the trailing objects of the class. More... | |
ArrayRef< Expr *> | getUDMapperRefs () const |
Get the user-defined mappers references that are in the trailing objects of the class. More... | |
void | setUDMapperRefs (ArrayRef< Expr * > DMDs) |
Set the user-defined mappers that are in the trailing objects of the class. More... | |
![]() | |
static unsigned | getComponentsTotalNumber (MappableExprComponentListsRef ComponentLists) |
static unsigned | getUniqueDeclarationsTotalNumber (ArrayRef< const ValueDecl *> Declarations) |
This represents clause 'is_device_ptr' in the '#pragma omp ...' directives.
In this example directive '#pragma omp target' has clause 'is_device_ptr' with the variables 'a' and 'b'.
Definition at line 6089 of file OpenMPClause.h.
|
inline |
Definition at line 6162 of file OpenMPClause.h.
|
inline |
Definition at line 6167 of file OpenMPClause.h.
References clang::OMPClause::children().
Definition at line 6179 of file OpenMPClause.h.
|
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. |
Definition at line 1061 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate(), OMPMappableExprListSizeTy::NumComponentLists, OMPMappableExprListSizeTy::NumComponents, OMPMappableExprListSizeTy::NumUniqueDeclarations, OMPMappableExprListSizeTy::NumVars, and OMPMappableExprListClause< T >::setClauseInfo().
Referenced by clang::Sema::ActOnOpenMPIsDevicePtrClause().
|
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 1096 of file OpenMPClause.cpp.
References clang::ASTContext::Allocate(), clang::OMPAllocatorClause::getAllocator(), clang::OMPAtomicDefaultMemOrderClause::getAtomicDefaultMemOrderKind(), clang::OMPScheduleClause::getChunkSize(), clang::OMPIfClause::getCondition(), clang::OMPFinalClause::getCondition(), clang::OMPDefaultClause::getDefaultKind(), OMPDeviceClause::getDevice(), clang::OMPScheduleClause::getFirstScheduleModifier(), OMPGrainsizeClause::getGrainsize(), OMPHintClause::getHint(), clang::OMPIfClause::getNameModifier(), clang::OMPCollapseClause::getNumForLoops(), clang::OMPOrderedClause::getNumForLoops(), OMPNumTasksClause::getNumTasks(), OMPNumTeamsClause::getNumTeams(), clang::OMPNumThreadsClause::getNumThreads(), clang::getOpenMPDirectiveName(), clang::getOpenMPSimpleClauseTypeName(), OMPPriorityClause::getPriority(), clang::OMPProcBindClause::getProcBindKind(), clang::OMPSafelenClause::getSafelen(), clang::OMPScheduleClause::getScheduleKind(), clang::OMPScheduleClause::getSecondScheduleModifier(), clang::OMPSimdlenClause::getSimdlen(), OMPThreadLimitClause::getThreadLimit(), Node, OMPMappableExprListSizeTy::NumComponentLists, OMPMappableExprListSizeTy::NumComponents, OMPMappableExprListSizeTy::NumUniqueDeclarations, OMPMappableExprListSizeTy::NumVars, clang::OMPC_SCHEDULE_MODIFIER_unknown, clang::OMPD_unknown, clang::Stmt::printPretty(), and clang::OMPVarListClause< T >::varlist_empty().
|
inline |
Definition at line 6172 of file OpenMPClause.h.
|
inline |
Definition at line 6175 of file OpenMPClause.h.
|
friend |
Definition at line 6094 of file OpenMPClause.h.