|
clang 24.0.0git
|
#include "clang/Sema/SemaOpenMP.h"
Classes | |
| struct | DeclareTargetContextInfo |
| struct | OMPIteratorData |
| Data structure for iterator expression. More... | |
| struct | OpenMPVarListDataTy |
| Data used for processing a list of variables in OpenMP clauses. More... | |
| struct | UsesAllocatorsData |
| Data for list of allocators. More... | |
Public Types | |
| enum class | OpenMPImpexType { OMP_NotImpex = 0 , OMP_Impex = 1 , OMP_Import = 2 , OMP_Export = 3 } |
| using | DeclGroupPtrTy = OpaquePtr<DeclGroupRef> |
| using | CapturedParamNameType = std::pair<StringRef, QualType> |
| using | VarsWithInheritedDSAType |
Public Member Functions | |
| SemaOpenMP (Sema &S) | |
| SemaDiagnosticBuilder | diagIfOpenMPDeviceCode (SourceLocation Loc, unsigned DiagID, const FunctionDecl *FD) |
| Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as device code". | |
| SemaDiagnosticBuilder | diagIfOpenMPHostCode (SourceLocation Loc, unsigned DiagID, const FunctionDecl *FD) |
| Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as host code". | |
| void | ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope (Scope *S, Declarator &D, MultiTemplateParamsArg TemplateParameterLists, SmallVectorImpl< FunctionDecl * > &Bases) |
The declarator D defines a function in the scope S which is nested in an omp begin/end declare variant scope. | |
| void | ActOnFinishedFunctionDefinitionInOpenMPDeclareVariantScope (Decl *D, SmallVectorImpl< FunctionDecl * > &Bases) |
Register D as specialization of all base functions in Bases in the current omp begin/end declare variant scope. | |
| void | ActOnFinishedFunctionDefinitionInOpenMPAssumeScope (Decl *D) |
Act on D, a function definition inside of an omp [begin/end] assumes. | |
| bool | isInOpenMPDeclareVariantScope () const |
| Can we exit an OpenMP declare variant scope at the moment. | |
| ExprResult | VerifyPositiveIntegerConstantInClause (Expr *Op, OpenMPClauseKind CKind, bool StrictlyPositive=true, bool SuppressExprDiags=false) |
| ExprResult | ActOnOpenMPCall (ExprResult Call, Scope *Scope, SourceLocation LParenLoc, MultiExprArg ArgExprs, SourceLocation RParenLoc, Expr *ExecConfig) |
Given the potential call expression Call, determine if there is a specialization via the OpenMP declare variant mechanism available. | |
| void | ActOnOpenMPBeginDeclareVariant (SourceLocation Loc, OMPTraitInfo &TI) |
| Handle a omp begin declare variant. | |
| void | ActOnOpenMPEndDeclareVariant () |
| Handle a omp end declare variant. | |
| void | tryCaptureOpenMPLambdas (ValueDecl *V) |
| Function tries to capture lambda's captured variables in the OpenMP region before the original lambda is captured. | |
| bool | isOpenMPCapturedByRef (const ValueDecl *D, unsigned Level, unsigned OpenMPCaptureLevel) const |
| Return true if the provided declaration VD should be captured by reference. | |
| VarDecl * | isOpenMPCapturedDecl (ValueDecl *D, bool CheckScopeInfo=false, unsigned StopAt=0) |
| Check if the specified variable is used in one of the private clauses (private, firstprivate, lastprivate, reduction etc.) in OpenMP constructs. | |
| bool | isOpenMPRebuildMemberExpr (ValueDecl *D) |
| The member expression(this->fd) needs to be rebuilt in the template instantiation to generate private copy for OpenMP when default clause is used. | |
| ExprResult | getOpenMPCapturedExpr (VarDecl *Capture, ExprValueKind VK, ExprObjectKind OK, SourceLocation Loc) |
| void | startOpenMPLoop () |
| If the current region is a loop-based region, mark the start of the loop construct. | |
| void | startOpenMPCXXRangeFor () |
| If the current region is a range loop-based region, mark the start of the loop construct. | |
| OpenMPClauseKind | isOpenMPPrivateDecl (ValueDecl *D, unsigned Level, unsigned CapLevel) const |
| Check if the specified variable is used in 'private' clause. | |
| void | setOpenMPCaptureKind (FieldDecl *FD, const ValueDecl *D, unsigned Level) |
Sets OpenMP capture kind (OMPC_private, OMPC_firstprivate, OMPC_map etc.) for FD based on DSA for the provided corresponding captured declaration D. | |
| bool | isOpenMPTargetCapturedDecl (const ValueDecl *D, unsigned Level, unsigned CaptureLevel) const |
| Check if the specified variable is captured by 'target' directive. | |
| bool | isOpenMPGlobalCapturedDecl (ValueDecl *D, unsigned Level, unsigned CaptureLevel) const |
| Check if the specified global variable must be captured by outer capture regions. | |
| ExprResult | PerformOpenMPImplicitIntegerConversion (SourceLocation OpLoc, Expr *Op) |
| void | StartOpenMPDSABlock (OpenMPDirectiveKind K, const DeclarationNameInfo &DirName, Scope *CurScope, SourceLocation Loc) |
| Called on start of new data sharing attribute block. | |
| void | StartOpenMPClause (OpenMPClauseKind K) |
| Start analysis of clauses. | |
| void | EndOpenMPClause () |
| End analysis of clauses. | |
| void | EndOpenMPDSABlock (Stmt *CurDirective) |
| Called on end of data sharing attribute block. | |
| void | ActOnOpenMPLoopInitialization (SourceLocation ForLoc, Stmt *Init) |
Check if the current region is an OpenMP loop region and if it is, mark loop control variable, used in Init for loop initialization, as private by default. | |
| StmtResult | ActOnOpenMPMetaDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp metadirective' after parsing of the associated statement. | |
| ExprResult | ActOnOpenMPIdExpression (Scope *CurScope, CXXScopeSpec &ScopeSpec, const DeclarationNameInfo &Id, OpenMPDirectiveKind Kind) |
| Called on correct id-expression from the '#pragma omp threadprivate'. | |
| DeclGroupPtrTy | ActOnOpenMPThreadprivateDirective (SourceLocation Loc, ArrayRef< Expr * > VarList) |
| Called on well-formed '#pragma omp threadprivate'. | |
| OMPThreadPrivateDecl * | CheckOMPThreadPrivateDecl (SourceLocation Loc, ArrayRef< Expr * > VarList) |
| Builds a new OpenMPThreadPrivateDecl and checks its correctness. | |
| DeclGroupPtrTy | ActOnOpenMPGroupPrivateDirective (SourceLocation Loc, ArrayRef< Expr * > VarList) |
| Called on well-formed '#pragma omp groupprivate'. | |
| OMPGroupPrivateDecl * | CheckOMPGroupPrivateDecl (SourceLocation Loc, ArrayRef< Expr * > VarList) |
| Builds a new OpenMPGroupPrivateDecl and checks its correctness. | |
| DeclGroupPtrTy | ActOnOpenMPAllocateDirective (SourceLocation Loc, ArrayRef< Expr * > VarList, ArrayRef< OMPClause * > Clauses, DeclContext *Owner=nullptr) |
| Called on well-formed '#pragma omp allocate'. | |
| void | ActOnOpenMPAssumesDirective (SourceLocation Loc, OpenMPDirectiveKind DKind, ArrayRef< std::string > Assumptions, bool SkippedClauses) |
| Called on well-formed '#pragma omp [begin] assume[s]'. | |
| bool | isInOpenMPAssumeScope () const |
| Check if there is an active global omp begin assumes directive. | |
| bool | hasGlobalOpenMPAssumes () const |
| Check if there is an active global omp assumes directive. | |
| void | ActOnOpenMPEndAssumesDirective () |
| Called on well-formed '#pragma omp end assumes'. | |
| DeclGroupPtrTy | ActOnOpenMPRequiresDirective (SourceLocation Loc, ArrayRef< OMPClause * > ClauseList) |
| Called on well-formed '#pragma omp requires'. | |
| void | addRequiresDecl (OMPRequiresDecl *D) |
| Registers a 'requires' directive deserialized from an AST file. | |
| ArrayRef< const OMPRequiresDecl * > | getRequiresDecls () const |
| The 'requires' directives seen so far in this translation unit. | |
| OMPRequiresDecl * | CheckOMPRequiresDecl (SourceLocation Loc, ArrayRef< OMPClause * > Clauses) |
| Check restrictions on Requires directive. | |
| QualType | ActOnOpenMPDeclareReductionType (SourceLocation TyLoc, TypeResult ParsedType) |
| Check if the specified type is allowed to be used in 'omp declare reduction' construct. | |
| DeclGroupPtrTy | ActOnOpenMPDeclareReductionDirectiveStart (Scope *S, DeclContext *DC, DeclarationName Name, ArrayRef< std::pair< QualType, SourceLocation > > ReductionTypes, AccessSpecifier AS, Decl *PrevDeclInScope=nullptr) |
| Called on start of '#pragma omp declare reduction'. | |
| void | ActOnOpenMPDeclareReductionCombinerStart (Scope *S, Decl *D) |
| Initialize declare reduction construct initializer. | |
| void | ActOnOpenMPDeclareReductionCombinerEnd (Decl *D, Expr *Combiner) |
| Finish current declare reduction construct initializer. | |
| VarDecl * | ActOnOpenMPDeclareReductionInitializerStart (Scope *S, Decl *D) |
| Initialize declare reduction construct initializer. | |
| void | ActOnOpenMPDeclareReductionInitializerEnd (Decl *D, Expr *Initializer, VarDecl *OmpPrivParm) |
| Finish current declare reduction construct initializer. | |
| DeclGroupPtrTy | ActOnOpenMPDeclareReductionDirectiveEnd (Scope *S, DeclGroupPtrTy DeclReductions, bool IsValid) |
| Called at the end of '#pragma omp declare reduction'. | |
| TypeResult | ActOnOpenMPDeclareMapperVarDecl (Scope *S, Declarator &D) |
| Check variable declaration in 'omp declare mapper' construct. | |
| QualType | ActOnOpenMPDeclareMapperType (SourceLocation TyLoc, TypeResult ParsedType) |
| Check if the specified type is allowed to be used in 'omp declare mapper' construct. | |
| DeclGroupPtrTy | ActOnOpenMPDeclareMapperDirective (Scope *S, DeclContext *DC, DeclarationName Name, QualType MapperType, SourceLocation StartLoc, DeclarationName VN, AccessSpecifier AS, Expr *MapperVarRef, ArrayRef< OMPClause * > Clauses, Decl *PrevDeclInScope=nullptr) |
| Called for '#pragma omp declare mapper'. | |
| ExprResult | ActOnOpenMPDeclareMapperDirectiveVarDecl (Scope *S, QualType MapperType, SourceLocation StartLoc, DeclarationName VN) |
| Build the mapper variable of '#pragma omp declare mapper'. | |
| void | ActOnOpenMPIteratorVarDecl (VarDecl *VD) |
| bool | isOpenMPDeclareMapperVarDeclAllowed (const VarDecl *VD) const |
| const ValueDecl * | getOpenMPDeclareMapperVarName () const |
| bool | ActOnStartOpenMPDeclareTargetContext (DeclareTargetContextInfo &DTCI) |
| Called on the start of target region i.e. '#pragma omp declare target'. | |
| const DeclareTargetContextInfo | ActOnOpenMPEndDeclareTargetDirective () |
| Called at the end of target region i.e. '#pragma omp end declare target'. | |
| void | ActOnFinishedOpenMPDeclareTargetContext (DeclareTargetContextInfo &DTCI) |
| Called once a target context is completed, that can be when a '#pragma omp end declare target' was encountered or when a '#pragma omp declare target' without declaration-definition-seq was encountered. | |
| void | DiagnoseUnterminatedOpenMPDeclareTarget () |
| Report unterminated 'omp declare target' or 'omp begin declare target' at the end of a compilation unit. | |
| NamedDecl * | lookupOpenMPDeclareTargetName (Scope *CurScope, CXXScopeSpec &ScopeSpec, const DeclarationNameInfo &Id) |
| Searches for the provided declaration name for OpenMP declare target directive. | |
| void | ActOnOpenMPDeclareTargetName (NamedDecl *ND, SourceLocation Loc, OMPDeclareTargetDeclAttr::MapTypeTy MT, DeclareTargetContextInfo &DTCI) |
| Called on correct id-expression from the '#pragma omp declare target'. | |
| void | checkDeclIsAllowedInOpenMPTarget (Expr *E, Decl *D, SourceLocation IdLoc=SourceLocation()) |
| Check declaration inside target region. | |
| void | ActOnOpenMPDeclareTargetInitializer (Decl *D) |
| Adds OMPDeclareTargetDeclAttr to referenced variables in declare target directive. | |
| void | finalizeOpenMPDelayedAnalysis (const FunctionDecl *Caller, const FunctionDecl *Callee, SourceLocation Loc) |
| Finishes analysis of the deferred functions calls that may be declared as host/nohost during device/host compilation. | |
| bool | isInOpenMPTaskUntiedContext () const |
| Return true if currently in OpenMP task with untied clause context. | |
| bool | isInOpenMPDeclareTargetContext () const |
| Return true inside OpenMP declare target region. | |
| bool | isInOpenMPTargetExecutionDirective () const |
| Return true inside OpenMP target region. | |
| void | ActOnOpenMPRegionStart (OpenMPDirectiveKind DKind, Scope *CurScope) |
| Initialization of captured region for OpenMP region. | |
| StmtResult | ActOnOpenMPCanonicalLoop (Stmt *AStmt) |
| Called for syntactical loops (ForStmt or CXXForRangeStmt) associated to an OpenMP loop directive. | |
| StmtResult | ActOnOpenMPLoopnest (Stmt *AStmt) |
| Process a canonical OpenMP loop nest that can either be a canonical literal loop (ForStmt or CXXForRangeStmt), or the generated loop of an OpenMP loop transformation construct. | |
| StmtResult | ActOnOpenMPRegionEnd (StmtResult S, ArrayRef< OMPClause * > Clauses) |
| End of OpenMP region. | |
| StmtResult | ActOnOpenMPExecutableDirective (OpenMPDirectiveKind Kind, const DeclarationNameInfo &DirName, OpenMPDirectiveKind CancelRegion, ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| StmtResult | ActOnOpenMPInformationalDirective (OpenMPDirectiveKind Kind, const DeclarationNameInfo &DirName, ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Process an OpenMP informational directive. | |
| StmtResult | ActOnOpenMPAssumeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Process an OpenMP assume directive. | |
| StmtResult | ActOnOpenMPParallelDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp parallel' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTileDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp tile' after parsing of its clauses and the associated statement. | |
| StmtResult | ActOnOpenMPStripeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| StmtResult | ActOnOpenMPUnrollDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp unroll' after parsing of its clauses and the associated statement. | |
| StmtResult | ActOnOpenMPReverseDirective (Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp reverse'. | |
| StmtResult | ActOnOpenMPSplitDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp split' after parsing of its associated statement. | |
| StmtResult | ActOnOpenMPInterchangeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp interchange' after parsing of its clauses and the associated statement. | |
| StmtResult | ActOnOpenMPFlattenDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp flatten' after parsing of its clauses and the associated statement. | |
| StmtResult | ActOnOpenMPFuseDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp fuse' after parsing of its clauses and the associated statement. | |
| StmtResult | ActOnOpenMPForDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp for' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPForSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp for simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPSectionsDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp sections' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPSectionDirective (Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp section' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPScopeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp scope' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPSingleDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp single' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPMasterDirective (Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp master' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPCriticalDirective (const DeclarationNameInfo &DirName, ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp critical' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelForDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel for' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelForSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel for simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelMasterDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp parallel master' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelMaskedDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp parallel masked' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelSectionsDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp parallel sections' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTaskDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp task' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTaskyieldDirective (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp taskyield'. | |
| StmtResult | ActOnOpenMPErrorDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc, bool InExContext=true) |
| Called on well-formed '#pragma omp error'. | |
| StmtResult | ActOnOpenMPBarrierDirective (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp barrier'. | |
| StmtResult | ActOnOpenMPTaskwaitDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp taskwait'. | |
| StmtResult | ActOnOpenMPTaskgroupDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp taskgroup'. | |
| StmtResult | ActOnOpenMPFlushDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp flush'. | |
| StmtResult | ActOnOpenMPDepobjDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp depobj'. | |
| StmtResult | ActOnOpenMPScanDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp scan'. | |
| StmtResult | ActOnOpenMPOrderedDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp ordered' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPAtomicDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp atomic' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp target' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetDataDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp target data' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetEnterDataDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc, Stmt *AStmt) |
| Called on well-formed '#pragma omp target enter data' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetExitDataDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc, Stmt *AStmt) |
| Called on well-formed '#pragma omp target exit data' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetParallelDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp target parallel' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetParallelForDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target parallel for' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTeamsDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp teams' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTeamsGenericLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp teams loop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetTeamsGenericLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target teams loop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelGenericLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel loop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetParallelGenericLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target parallel loop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPCancellationPointDirective (SourceLocation StartLoc, SourceLocation EndLoc, OpenMPDirectiveKind CancelRegion) |
| Called on well-formed '#pragma omp cancellation point'. | |
| StmtResult | ActOnOpenMPCancelDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc, OpenMPDirectiveKind CancelRegion) |
| Called on well-formed '#pragma omp cancel'. | |
| StmtResult | ActOnOpenMPTaskLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp taskloop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTaskLoopSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp taskloop simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPMasterTaskLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp master taskloop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPMasterTaskLoopSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp master taskloop simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelMasterTaskLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel master taskloop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelMasterTaskLoopSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel master taskloop simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPMaskedTaskLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp masked taskloop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPMaskedTaskLoopSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp masked taskloop simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelMaskedTaskLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel masked taskloop' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPParallelMaskedTaskLoopSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp parallel masked taskloop simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPDistributeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp distribute' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetUpdateDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc, Stmt *AStmt) |
| Called on well-formed '#pragma omp target update'. | |
| StmtResult | ActOnOpenMPDistributeParallelForDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp distribute parallel for' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPDistributeParallelForSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp distribute parallel for simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPDistributeSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp distribute simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetParallelForSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target parallel for simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTeamsDistributeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp teams distribute' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTeamsDistributeSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp teams distribute simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTeamsDistributeParallelForSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp teams distribute parallel for simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTeamsDistributeParallelForDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp teams distribute parallel for' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetTeamsDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp target teams' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetTeamsDistributeDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target teams distribute' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetTeamsDistributeParallelForDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target teams distribute parallel for' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target teams distribute parallel for simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPTargetTeamsDistributeSimdDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp target teams distribute simd' after parsing of the associated statement. | |
| StmtResult | ActOnOpenMPInteropDirective (ArrayRef< OMPClause * > Clauses, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp interop'. | |
| StmtResult | ActOnOpenMPDispatchDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp dispatch' after parsing of the. | |
| StmtResult | ActOnOpenMPMaskedDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed '#pragma omp masked' after parsing of the. | |
| StmtResult | ActOnOpenMPGenericLoopDirective (ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, VarsWithInheritedDSAType &VarsWithImplicitDSA) |
| Called on well-formed '#pragma omp loop' after parsing of the associated statement. | |
| bool | CheckOpenMPLinearModifier (OpenMPLinearClauseKind LinKind, SourceLocation LinLoc) |
| Checks correctness of linear modifiers. | |
| bool | CheckOpenMPLinearDecl (const ValueDecl *D, SourceLocation ELoc, OpenMPLinearClauseKind LinKind, QualType Type, bool IsDeclareSimd=false) |
| Checks that the specified declaration matches requirements for the linear decls. | |
| DeclGroupPtrTy | ActOnOpenMPDeclareSimdDirective (DeclGroupPtrTy DG, OMPDeclareSimdDeclAttr::BranchStateTy BS, Expr *Simdlen, ArrayRef< Expr * > Uniforms, ArrayRef< Expr * > Aligneds, ArrayRef< Expr * > Alignments, ArrayRef< Expr * > Linears, ArrayRef< unsigned > LinModifiers, ArrayRef< Expr * > Steps, SourceRange SR) |
| Called on well-formed '#pragma omp declare simd' after parsing of the associated method/function. | |
| std::optional< std::pair< FunctionDecl *, Expr * > > | checkOpenMPDeclareVariantFunction (DeclGroupPtrTy DG, Expr *VariantRef, OMPTraitInfo &TI, unsigned NumAppendArgs, SourceRange SR) |
| Checks '#pragma omp declare variant' variant function and original functions after parsing of the associated method/function. | |
| void | ActOnOpenMPDeclareVariantDirective (FunctionDecl *FD, Expr *VariantRef, OMPTraitInfo &TI, ArrayRef< Expr * > AdjustArgsNothing, ArrayRef< Expr * > AdjustArgsNeedDevicePtr, ArrayRef< Expr * > AdjustArgsNeedDeviceAddr, ArrayRef< OMPInteropInfo > AppendArgs, SourceLocation AdjustArgsLoc, SourceLocation AppendArgsLoc, SourceRange SR) |
| Called on well-formed '#pragma omp declare variant' after parsing of the associated method/function. | |
| void | ActOnOpenMPDeviceNum (Expr *DeviceNumExpr) |
| Called on device_num selector in context selectors. | |
| OMPClause * | ActOnOpenMPSingleExprClause (OpenMPClauseKind Kind, Expr *Expr, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| OMPClause * | ActOnOpenMPAllocatorClause (Expr *Allocator, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'allocator' clause. | |
| OMPClause * | ActOnOpenMPIfClause (OpenMPDirectiveKind NameModifier, Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation NameModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc) |
| Called on well-formed 'if' clause. | |
| OMPClause * | ActOnOpenMPFinalClause (Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'final' clause. | |
| OMPClause * | ActOnOpenMPNumThreadsClause (ArrayRef< Expr * > VarList, OpenMPNumThreadsClauseModifier SimpleModifier, SourceLocation SimpleModifierLoc, OpenMPNumThreadsClauseModifier ComplexModifier, Expr *ComplexModifierExpr, SourceLocation ComplexModifierLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'num_threads' clause. | |
| OMPClause * | ActOnOpenMPAlignClause (Expr *Alignment, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'align' clause. | |
| OMPClause * | ActOnOpenMPSafelenClause (Expr *Length, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'safelen' clause. | |
| OMPClause * | ActOnOpenMPSimdlenClause (Expr *Length, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'simdlen' clause. | |
| OMPClause * | ActOnOpenMPSizesClause (ArrayRef< Expr * > SizeExprs, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-form 'sizes' clause. | |
| OMPClause * | ActOnOpenMPCountsClause (ArrayRef< Expr * > CountExprs, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, std::optional< unsigned > FillIdx, SourceLocation FillLoc, unsigned FillCount) |
| Called on well-formed 'counts' clause after parsing its arguments. | |
| OMPClause * | ActOnOpenMPPermutationClause (ArrayRef< Expr * > PermExprs, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-form 'permutation' clause after parsing its arguments. | |
| OMPClause * | ActOnOpenMPFullClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-form 'full' clauses. | |
| OMPClause * | ActOnOpenMPPartialClause (Expr *FactorExpr, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-form 'partial' clauses. | |
| OMPClause * | ActOnOpenMPDepthClause (Expr *DepthExpr, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'depth' clause. | |
| OMPClause * | ActOnOpenMPCollapseClause (Expr *NumForLoops, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'collapse' clause. | |
| OMPClause * | ActOnOpenMPLoopRangeClause (Expr *First, Expr *Count, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation FirstLoc, SourceLocation CountLoc, SourceLocation EndLoc) |
| Called on well-form 'looprange' clause after parsing its arguments. | |
| OMPClause * | ActOnOpenMPOrderedClause (SourceLocation StartLoc, SourceLocation EndLoc, SourceLocation LParenLoc=SourceLocation(), Expr *NumForLoops=nullptr) |
| Called on well-formed 'ordered' clause. | |
| OMPClause * | ActOnOpenMPGrainsizeClause (OpenMPGrainsizeClauseModifier Modifier, Expr *Size, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation EndLoc) |
| Called on well-formed 'grainsize' clause. | |
| OMPClause * | ActOnOpenMPNumTasksClause (OpenMPNumTasksClauseModifier Modifier, Expr *NumTasks, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation EndLoc) |
| Called on well-formed 'num_tasks' clause. | |
| OMPClause * | ActOnOpenMPHintClause (Expr *Hint, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'hint' clause. | |
| OMPClause * | ActOnOpenMPDetachClause (Expr *Evt, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'detach' clause. | |
| OMPClause * | ActOnOpenMPSimpleClause (OpenMPClauseKind Kind, unsigned Argument, SourceLocation ArgumentLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| OMPClause * | ActOnOpenMPWhenClause (OMPTraitInfo &TI, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'when' clause. | |
| OMPClause * | ActOnOpenMPDefaultClause (llvm::omp::DefaultKind M, SourceLocation MLoc, OpenMPDefaultClauseVariableCategory VCKind, SourceLocation VCKindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'default' clause. | |
| OMPClause * | ActOnOpenMPThreadsetClause (OpenMPThreadsetKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'threadset' clause. | |
| OMPClause * | ActOnOpenMPTransparentClause (Expr *Transparent, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'transparent' clause. | |
| OMPClause * | ActOnOpenMPProcBindClause (llvm::omp::ProcBindKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'proc_bind' clause. | |
| OMPClause * | ActOnOpenMPOrderClause (OpenMPOrderClauseModifier Modifier, OpenMPOrderClauseKind Kind, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation MLoc, SourceLocation KindLoc, SourceLocation EndLoc) |
| Called on well-formed 'order' clause. | |
| OMPClause * | ActOnOpenMPUpdateDependObjectsClause (OpenMPDependClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'update_depend_objects' clause. | |
| OMPClause * | ActOnOpenMPHoldsClause (Expr *E, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'holds' clause. | |
| OMPClause * | ActOnOpenMPDirectivePresenceClause (OpenMPClauseKind CK, llvm::ArrayRef< OpenMPDirectiveKind > DKVec, SourceLocation Loc, SourceLocation LLoc, SourceLocation RLoc) |
| Called on well-formed 'absent' or 'contains' clauses. | |
| OMPClause * | ActOnOpenMPNullaryAssumptionClause (OpenMPClauseKind CK, SourceLocation Loc, SourceLocation RLoc) |
| OMPClause * | ActOnOpenMPSingleExprWithArgClause (OpenMPClauseKind Kind, ArrayRef< unsigned > Arguments, Expr *Expr, SourceLocation StartLoc, SourceLocation LParenLoc, ArrayRef< SourceLocation > ArgumentsLoc, SourceLocation DelimLoc, SourceLocation EndLoc) |
| OMPClause * | ActOnOpenMPScheduleClause (OpenMPScheduleClauseModifier M1, OpenMPScheduleClauseModifier M2, OpenMPScheduleClauseKind Kind, Expr *ChunkSize, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation M1Loc, SourceLocation M2Loc, SourceLocation KindLoc, SourceLocation CommaLoc, SourceLocation EndLoc) |
| Called on well-formed 'schedule' clause. | |
| OMPClause * | ActOnOpenMPClause (OpenMPClauseKind Kind, SourceLocation StartLoc, SourceLocation EndLoc) |
| OMPClause * | ActOnOpenMPNowaitClause (SourceLocation StartLoc, SourceLocation EndLoc, SourceLocation LParenLoc, Expr *Condition) |
| Called on well-formed 'nowait' clause. | |
| OMPClause * | ActOnOpenMPUntiedClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'untied' clause. | |
| OMPClause * | ActOnOpenMPMergeableClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'mergeable' clause. | |
| OMPClause * | ActOnOpenMPReadClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'read' clause. | |
| OMPClause * | ActOnOpenMPWriteClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'write' clause. | |
| OMPClause * | ActOnOpenMPUpdateClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'update' clause. | |
| OMPClause * | ActOnOpenMPCaptureClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'capture' clause. | |
| OMPClause * | ActOnOpenMPCompareClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'compare' clause. | |
| OMPClause * | ActOnOpenMPFailClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'fail' clause. | |
| OMPClause * | ActOnOpenMPFailClause (OpenMPClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| OMPClause * | ActOnOpenMPSeqCstClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'seq_cst' clause. | |
| OMPClause * | ActOnOpenMPAcqRelClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'acq_rel' clause. | |
| OMPClause * | ActOnOpenMPAcquireClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'acquire' clause. | |
| OMPClause * | ActOnOpenMPReleaseClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'release' clause. | |
| OMPClause * | ActOnOpenMPRelaxedClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'relaxed' clause. | |
| OMPClause * | ActOnOpenMPWeakClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'weak' clause. | |
| OMPClause * | ActOnOpenMPInitClause (Expr *InteropVar, OMPInteropInfo &InteropInfo, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation VarLoc, SourceLocation EndLoc) |
| Called on well-formed 'init' clause. | |
| OMPClause * | ActOnOpenMPUseClause (Expr *InteropVar, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation VarLoc, SourceLocation EndLoc) |
| Called on well-formed 'use' clause. | |
| OMPClause * | ActOnOpenMPDestroyClause (Expr *InteropVar, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation VarLoc, SourceLocation EndLoc) |
| Called on well-formed 'destroy' clause. | |
| OMPClause * | ActOnOpenMPNovariantsClause (Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'novariants' clause. | |
| OMPClause * | ActOnOpenMPNocontextClause (Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'nocontext' clause. | |
| OMPClause * | ActOnOpenMPFilterClause (Expr *ThreadID, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'filter' clause. | |
| OMPClause * | ActOnOpenMPThreadsClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'threads' clause. | |
| OMPClause * | ActOnOpenMPSIMDClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'simd' clause. | |
| OMPClause * | ActOnOpenMPNogroupClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'nogroup' clause. | |
| OMPClause * | ActOnOpenMPUnifiedAddressClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'unified_address' clause. | |
| OMPClause * | ActOnOpenMPUnifiedSharedMemoryClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'unified_address' clause. | |
| OMPClause * | ActOnOpenMPReverseOffloadClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'reverse_offload' clause. | |
| OMPClause * | ActOnOpenMPDynamicAllocatorsClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'dynamic_allocators' clause. | |
| OMPClause * | ActOnOpenMPAtomicDefaultMemOrderClause (OpenMPAtomicDefaultMemOrderClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'atomic_default_mem_order' clause. | |
| OMPClause * | ActOnOpenMPSelfMapsClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on well-formed 'self_maps' clause. | |
| OMPClause * | ActOnOpenMPAtClause (OpenMPAtClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'at' clause. | |
| OMPClause * | ActOnOpenMPSeverityClause (OpenMPSeverityClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'severity' clause. | |
| OMPClause * | ActOnOpenMPMessageClause (Expr *MS, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'message' clause. | |
| OMPClause * | ActOnOpenMPVarListClause (OpenMPClauseKind Kind, ArrayRef< Expr * > Vars, const OMPVarListLocTy &Locs, OpenMPVarListDataTy &Data) |
| OMPClause * | ActOnOpenMPInclusiveClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'inclusive' clause. | |
| OMPClause * | ActOnOpenMPExclusiveClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'exclusive' clause. | |
| OMPClause * | ActOnOpenMPAllocateClause (Expr *Allocator, Expr *Alignment, OpenMPAllocateClauseModifier FirstModifier, SourceLocation FirstModifierLoc, OpenMPAllocateClauseModifier SecondModifier, SourceLocation SecondModifierLoc, ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation ColonLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'allocate' clause. | |
| OMPClause * | ActOnOpenMPPrivateClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'private' clause. | |
| OMPClause * | ActOnOpenMPFirstprivateClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'firstprivate' clause. | |
| OMPClause * | ActOnOpenMPLastprivateClause (ArrayRef< Expr * > VarList, OpenMPLastprivateModifier LPKind, SourceLocation LPKindLoc, SourceLocation ColonLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'lastprivate' clause. | |
| OMPClause * | ActOnOpenMPSharedClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'shared' clause. | |
| OMPClause * | ActOnOpenMPReductionClause (ArrayRef< Expr * > VarList, OpenMPVarListDataTy::OpenMPReductionClauseModifiers Modifiers, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec, const DeclarationNameInfo &ReductionId, ArrayRef< Expr * > UnresolvedReductions={}) |
| Called on well-formed 'reduction' clause. | |
| OMPClause * | ActOnOpenMPTaskReductionClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec, const DeclarationNameInfo &ReductionId, ArrayRef< Expr * > UnresolvedReductions={}) |
| Called on well-formed 'task_reduction' clause. | |
| OMPClause * | ActOnOpenMPInReductionClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec, const DeclarationNameInfo &ReductionId, ArrayRef< Expr * > UnresolvedReductions={}) |
| Called on well-formed 'in_reduction' clause. | |
| OMPClause * | ActOnOpenMPLinearClause (ArrayRef< Expr * > VarList, Expr *Step, SourceLocation StartLoc, SourceLocation LParenLoc, OpenMPLinearClauseKind LinKind, SourceLocation LinLoc, SourceLocation ColonLoc, SourceLocation StepModifierLoc, SourceLocation EndLoc) |
| Called on well-formed 'linear' clause. | |
| OMPClause * | ActOnOpenMPAlignedClause (ArrayRef< Expr * > VarList, Expr *Alignment, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc) |
| Called on well-formed 'aligned' clause. | |
| OMPClause * | ActOnOpenMPCopyinClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'copyin' clause. | |
| OMPClause * | ActOnOpenMPCopyprivateClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'copyprivate' clause. | |
| OMPClause * | ActOnOpenMPFlushClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'flush' pseudo clause. | |
| OMPClause * | ActOnOpenMPDepobjClause (Expr *Depobj, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'depobj' pseudo clause. | |
| OMPClause * | ActOnOpenMPDependClause (const OMPDependClause::DependDataTy &Data, Expr *DepModifier, ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'depend' clause. | |
| OMPClause * | ActOnOpenMPDeviceClause (OpenMPDeviceClauseModifier Modifier, Expr *Device, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation EndLoc) |
| Called on well-formed 'device' clause. | |
| OMPClause * | ActOnOpenMPMapClause (Expr *IteratorModifier, ArrayRef< OpenMPMapModifierKind > MapTypeModifiers, ArrayRef< SourceLocation > MapTypeModifiersLoc, CXXScopeSpec &MapperIdScopeSpec, DeclarationNameInfo &MapperId, OpenMPMapClauseKind MapType, bool IsMapTypeImplicit, SourceLocation MapLoc, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, bool NoDiagnose=false, ArrayRef< Expr * > UnresolvedMappers={}) |
| Called on well-formed 'map' clause. | |
| OMPClause * | ActOnOpenMPNumTeamsClause (ArrayRef< Expr * > VarList, OpenMPNumTeamsClauseModifier Modifier, Expr *ModifierExpr, SourceLocation ModifierLoc, OpenMPNumTeamsClauseModifier ModifierExtra, Expr *ModifierExtraExpr, SourceLocation ModifierExtraLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'num_teams' clause. | |
| OMPClause * | ActOnOpenMPThreadLimitClause (ArrayRef< Expr * > VarList, OpenMPThreadLimitClauseModifier Modifier, Expr *ModifierExpr, SourceLocation ModifierLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'thread_limit' clause. | |
| OMPClause * | ActOnOpenMPPriorityClause (Expr *Priority, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'priority' clause. | |
| OMPClause * | ActOnOpenMPDistScheduleClause (OpenMPDistScheduleClauseKind Kind, Expr *ChunkSize, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation KindLoc, SourceLocation CommaLoc, SourceLocation EndLoc) |
| Called on well-formed 'dist_schedule' clause. | |
| OMPClause * | ActOnOpenMPDefaultmapClause (OpenMPDefaultmapClauseModifier M, OpenMPDefaultmapClauseKind Kind, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation MLoc, SourceLocation KindLoc, SourceLocation EndLoc) |
| Called on well-formed 'defaultmap' clause. | |
| OMPClause * | ActOnOpenMPToClause (ArrayRef< OpenMPMotionModifierKind > MotionModifiers, ArrayRef< SourceLocation > MotionModifiersLoc, Expr *IteratorModifier, CXXScopeSpec &MapperIdScopeSpec, DeclarationNameInfo &MapperId, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, ArrayRef< Expr * > UnresolvedMappers={}) |
| Called on well-formed 'to' clause. | |
| OMPClause * | ActOnOpenMPFromClause (ArrayRef< OpenMPMotionModifierKind > MotionModifiers, ArrayRef< SourceLocation > MotionModifiersLoc, Expr *IteratorModifier, CXXScopeSpec &MapperIdScopeSpec, DeclarationNameInfo &MapperId, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, ArrayRef< Expr * > UnresolvedMappers={}) |
| Called on well-formed 'from' clause. | |
| OMPClause * | ActOnOpenMPUseDevicePtrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, OpenMPUseDevicePtrFallbackModifier FallbackModifier, SourceLocation FallbackModifierLoc) |
| Called on well-formed 'use_device_ptr' clause. | |
| OMPClause * | ActOnOpenMPUseDeviceAddrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
| Called on well-formed 'use_device_addr' clause. | |
| OMPClause * | ActOnOpenMPIsDevicePtrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
| Called on well-formed 'is_device_ptr' clause. | |
| OMPClause * | ActOnOpenMPHasDeviceAddrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
| Called on well-formed 'has_device_addr' clause. | |
| OMPClause * | ActOnOpenMPNontemporalClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'nontemporal' clause. | |
| OMPClause * | ActOnOpenMPUsesAllocatorClause (SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, ArrayRef< UsesAllocatorsData > Data) |
| Called on well-formed 'uses_allocators' clause. | |
| OMPClause * | ActOnOpenMPAffinityClause (SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, Expr *Modifier, ArrayRef< Expr * > Locators) |
| Called on well-formed 'affinity' clause. | |
| OMPClause * | ActOnOpenMPBindClause (OpenMPBindClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on a well-formed 'bind' clause. | |
| OMPClause * | ActOnOpenMPXDynCGroupMemClause (Expr *Size, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on a well-formed 'ompx_dyn_cgroup_mem' clause. | |
| OMPClause * | ActOnOpenMPDynGroupprivateClause (OpenMPDynGroupprivateClauseModifier M1, OpenMPDynGroupprivateClauseFallbackModifier M2, Expr *Size, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation M1Loc, SourceLocation M2Loc, SourceLocation EndLoc) |
| Called on a well-formed 'dyn_groupprivate' clause. | |
| OMPClause * | ActOnOpenMPDoacrossClause (OpenMPDoacrossClauseModifier DepType, SourceLocation DepLoc, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on well-formed 'doacross' clause. | |
| OMPClause * | ActOnOpenMPXAttributeClause (ArrayRef< const Attr * > Attrs, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
| Called on a well-formed 'ompx_attribute' clause. | |
| OMPClause * | ActOnOpenMPXBareClause (SourceLocation StartLoc, SourceLocation EndLoc) |
| Called on a well-formed 'ompx_bare' clause. | |
| ExprResult | ActOnOMPArraySectionExpr (Expr *Base, SourceLocation LBLoc, Expr *LowerBound, SourceLocation ColonLocFirst, SourceLocation ColonLocSecond, Expr *Length, Expr *Stride, SourceLocation RBLoc) |
| ExprResult | ActOnOMPArrayShapingExpr (Expr *Base, SourceLocation LParenLoc, SourceLocation RParenLoc, ArrayRef< Expr * > Dims, ArrayRef< SourceRange > Brackets) |
| ExprResult | ActOnOMPIteratorExpr (Scope *S, SourceLocation IteratorKwLoc, SourceLocation LLoc, SourceLocation RLoc, ArrayRef< OMPIteratorData > Data) |
| ExprResult | ActOnOpenMPDimsModifier (OpenMPClauseKind Kind, int Modifier, Expr *ModifierExpr, SourceLocation ModifierLoc, ArrayRef< Expr * > VarList, SourceLocation VarListEndLoc) |
| void | handleOMPAssumeAttr (Decl *D, const ParsedAttr &AL) |
| void | setOpenMPDeviceNum (int Num) |
| Setter and getter functions for device_num. | |
| int | getOpenMPDeviceNum () const |
| void | setOpenMPDeviceNumID (StringRef ID) |
| Public Member Functions inherited from clang::SemaBase | |
| SemaBase (Sema &S) | |
| ASTContext & | getASTContext () const |
| DiagnosticsEngine & | getDiagnostics () const |
| const LangOptions & | getLangOpts () const |
| DeclContext * | getCurContext () const |
| SemaDiagnosticBuilder | Diag (SourceLocation Loc, unsigned DiagID) |
| Emit a diagnostic. | |
| SemaDiagnosticBuilder | Diag (SourceLocation Loc, const PartialDiagnostic &PD) |
| Emit a partial diagnostic. | |
| SemaDiagnosticBuilder | DiagCompat (SourceLocation Loc, unsigned CompatDiagId) |
| Emit a compatibility diagnostic. | |
| PartialDiagnostic | PDiag (unsigned DiagID=0) |
| Build a partial diagnostic. | |
Static Public Member Functions | |
| static int | getOpenMPCaptureLevels (OpenMPDirectiveKind Kind) |
| Return the number of captured regions created for an OpenMP directive. | |
Friends | |
| class | Parser |
| class | Sema |
Additional Inherited Members | |
| Public Attributes inherited from clang::SemaBase | |
| Sema & | SemaRef |
Definition at line 50 of file SemaOpenMP.h.
| using clang::SemaOpenMP::CapturedParamNameType = std::pair<StringRef, QualType> |
Definition at line 58 of file SemaOpenMP.h.
Definition at line 57 of file SemaOpenMP.h.
Definition at line 444 of file SemaOpenMP.h.
|
strong |
| Enumerator | |
|---|---|
| OMP_NotImpex | |
| OMP_Impex | |
| OMP_Import | |
| OMP_Export | |
Definition at line 1527 of file SemaOpenMP.h.
| SemaOpenMP::SemaOpenMP | ( | Sema & | S | ) |
Definition at line 28377 of file SemaOpenMP.cpp.
References clang::nullptr, Sema, and clang::SemaBase::SemaBase().
| void SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPAssumeScope | ( | Decl * | D | ) |
Act on D, a function definition inside of an omp [begin/end] assumes.
Definition at line 7633 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), clang::cast(), clang::Decl::isInvalidDecl(), and clang::SemaBase::SemaRef.
Referenced by clang::Sema::ActOnStartOfLambdaDefinition(), and clang::Sema::CheckFunctionDeclaration().
| void SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPDeclareVariantScope | ( | Decl * | D, |
| SmallVectorImpl< FunctionDecl * > & | Bases ) |
Register D as specialization of all base functions in Bases in the current omp begin/end declare variant scope.
Definition at line 7743 of file SemaOpenMP.cpp.
References clang::cast(), clang::DeclRefExpr::Create(), clang::SemaBase::getASTContext(), clang::Decl::getLocation(), clang::ValueDecl::getType(), clang::SemaBase::SemaRef, clang::Sema::Unevaluated, clang::Unevaluated, and clang::VK_PRValue.
Referenced by clang::Sema::ActOnDeclarator(), and clang::Sema::ActOnStartOfFunctionDef().
| void SemaOpenMP::ActOnFinishedOpenMPDeclareTargetContext | ( | DeclareTargetContextInfo & | DTCI | ) |
Called once a target context is completed, that can be when a '#pragma omp end declare target' was encountered or when a '#pragma omp declare target' without declaration-definition-seq was encountered.
Definition at line 26426 of file SemaOpenMP.cpp.
References ActOnOpenMPDeclareTargetName(), and clang::SemaOpenMP::DeclareTargetContextInfo::ExplicitlyMapped.
| ExprResult SemaOpenMP::ActOnOMPArraySectionExpr | ( | Expr * | Base, |
| SourceLocation | LBLoc, | ||
| Expr * | LowerBound, | ||
| SourceLocation | ColonLocFirst, | ||
| SourceLocation | ColonLocSecond, | ||
| Expr * | Length, | ||
| Expr * | Stride, | ||
| SourceLocation | RBLoc ) |
Definition at line 27779 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::Expr::EvaluateAsInt(), clang::ExprError(), clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAsArrayTypeUnsafe(), clang::SemaBase::getASTContext(), clang::ArraySectionExpr::getBaseOriginalType(), clang::ArrayType::getElementType(), clang::Expr::getExprLoc(), clang::Type::getPointeeType(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::Type::isAnyPointerType(), clang::Type::isArrayType(), clang::Type::isConstantArrayType(), clang::Type::isFunctionType(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Type::isNonOverloadPlaceholderType(), clang::QualType::isNull(), clang::Type::isSpecificBuiltinType(), clang::Expr::isTypeDependent(), clang::SourceLocation::isValid(), clang::Expr::isValueDependent(), clang::Type::isVariableArrayType(), clang::OK_Ordinary, PerformOpenMPImplicitIntegerConversion(), clang::Result, clang::SemaBase::SemaRef, toString(), and clang::VK_LValue.
Referenced by clang::Sema::ActOnArraySubscriptExpr(), and clang::TreeTransform< AdjustConstraints >::RebuildArraySectionExpr().
| ExprResult SemaOpenMP::ActOnOMPArrayShapingExpr | ( | Expr * | Base, |
| SourceLocation | LParenLoc, | ||
| SourceLocation | RParenLoc, | ||
| ArrayRef< Expr * > | Dims, | ||
| ArrayRef< SourceRange > | Brackets ) |
Definition at line 27965 of file SemaOpenMP.cpp.
References clang::OMPArrayShapingExpr::Create(), clang::SemaBase::Diag(), clang::Dim, clang::ExprError(), clang::SemaBase::getASTContext(), clang::APValue::getInt(), clang::Type::getPointeeType(), clang::Type::isIncompleteType(), clang::Type::isPointerType(), PerformOpenMPImplicitIntegerConversion(), clang::Result, clang::SemaBase::SemaRef, toString(), and clang::Expr::EvalResult::Val.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPArrayShapingExpr().
| ExprResult SemaOpenMP::ActOnOMPIteratorExpr | ( | Scope * | S, |
| SourceLocation | IteratorKwLoc, | ||
| SourceLocation | LLoc, | ||
| SourceLocation | RLoc, | ||
| ArrayRef< OMPIteratorData > | Data ) |
Act on the iterator variable declaration.
Definition at line 28040 of file SemaOpenMP.cpp.
References ActOnOpenMPIteratorVarDecl(), clang::OMPIteratorExpr::IteratorDefinition::AssignmentLoc, clang::OMPIteratorExpr::IteratorRange::Begin, clang::cast(), clang::OMPIteratorExpr::IteratorDefinition::ColonLoc, clang::Type::containsUnexpandedParameterPack(), clang::Converting, clang::OMPIteratorHelperData::CounterUpdate, clang::OMPIteratorHelperData::CounterVD, clang::OMPIteratorExpr::Create(), clang::VarDecl::Create(), clang::Data, clang::SemaBase::Diag(), clang::OMPIteratorExpr::IteratorRange::End, clang::ExprError(), ForVisibleRedeclaration, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Decl::getBeginLoc(), clang::TypeLoc::getBeginLoc(), clang::NamedDecl::getDeclName(), clang::Expr::getExprLoc(), clang::Expr::getIntegerConstantExpr(), clang::Decl::getLocation(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::Sema::GetTypeFromParser(), clang::TypeSourceInfo::getTypeLoc(), clang::Type::isAnyPointerType(), clang::QualType::isConstant(), clang::Type::isDependentType(), clang::Type::isInstantiationDependentType(), clang::Type::isIntegralType(), clang::Expr::isTypeDependent(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::OMPIteratorExpr::IteratorDefinition::IteratorDecl, clang::Sema::LookupOrdinaryName, Previous, clang::OMPIteratorExpr::IteratorDefinition::Range, clang::Result, clang::SC_None, clang::OMPIteratorExpr::IteratorDefinition::SecondColonLoc, clang::SemaBase::SemaRef, clang::Decl::setImplicit(), clang::OMPIteratorExpr::IteratorRange::Step, clang::OMPIteratorHelperData::Update, clang::OMPIteratorHelperData::Upper, and clang::VK_LValue.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPIteratorExpr().
| OMPClause * SemaOpenMP::ActOnOpenMPAcqRelClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'acq_rel' clause.
Definition at line 20112 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPAcquireClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'acquire' clause.
Definition at line 20117 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPAffinityClause | ( | SourceLocation | StartLoc, |
| SourceLocation | LParenLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | EndLoc, | ||
| Expr * | Modifier, | ||
| ArrayRef< Expr * > | Locators ) |
Called on well-formed 'affinity' clause.
Definition at line 27565 of file SemaOpenMP.cpp.
References OMPAffinityClause::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::isa(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SemaBase::SemaRef, and clang::SimpleExpr.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPAffinityClause().
| OMPClause * SemaOpenMP::ActOnOpenMPAlignClause | ( | Expr * | Alignment, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'align' clause.
Definition at line 19574 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPAlignClause().
| OMPClause * SemaOpenMP::ActOnOpenMPAlignedClause | ( | ArrayRef< Expr * > | VarList, |
| Expr * | Alignment, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'aligned' clause.
Definition at line 23099 of file SemaOpenMP.cpp.
References buildCapture(), OMPAlignedClause::Create(), clang::VarDecl::DeclarationOnly, clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::QualType::getCanonicalType(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::QualType::getNonReferenceType(), getOpenMPClauseNameForDiag(), getPrivateItem(), clang::ValueDecl::getType(), clang::QualType::getTypePtrOrNull(), clang::QualType::getUnqualifiedType(), clang::Type::isArrayType(), clang::ActionResult< PtrTy, Compress >::isInvalid(), isOpenMPCapturedDecl(), clang::Type::isPointerType(), clang::SemaBase::SemaRef, and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPAlignedClause().
| OMPClause * SemaOpenMP::ActOnOpenMPAllocateClause | ( | Expr * | Allocator, |
| Expr * | Alignment, | ||
| OpenMPAllocateClauseModifier | FirstModifier, | ||
| SourceLocation | FirstModifierLoc, | ||
| OpenMPAllocateClauseModifier | SecondModifier, | ||
| SourceLocation | SecondModifierLoc, | ||
| ArrayRef< Expr * > | VarList, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'allocate' clause.
Definition at line 27186 of file SemaOpenMP.cpp.
References buildCapture(), clang::Expr::containsUnexpandedParameterPack(), clang::OMPAllocateClause::Create(), DSAStack, findOMPAllocatorHandleT(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), getPrivateItem(), clang::Initializing, clang::Expr::isInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Expr::isTypeDependent(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::Expr::isValueDependent(), clang::SemaBase::SemaRef, and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPAllocateClause().
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPAllocateDirective | ( | SourceLocation | Loc, |
| ArrayRef< Expr * > | VarList, | ||
| ArrayRef< OMPClause * > | Clauses, | ||
| DeclContext * | Owner = nullptr ) |
Called on well-formed '#pragma omp allocate'.
Definition at line 3664 of file SemaOpenMP.cpp.
References clang::DeclContext::addDecl(), applyOMPAllocateAttribute(), clang::AS_public, clang::C, clang::cast(), checkPreviousOMPAllocateAttribute(), clang::OMPAllocateDecl::Create(), clang::VarDecl::DeclarationOnly, Diag(), DSAStack, getAllocatorKind(), clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::Stmt::getSourceRange(), clang::VarDecl::getStorageClass(), clang::VarDecl::getTLSKind(), clang::Decl::hasAttr(), clang::VarDecl::hasGlobalStorage(), clang::VarDecl::isLocalVarDecl(), clang::VarDecl::isThisDeclarationADefinition(), clang::OpaquePtr< DeclGroupRef >::make(), clang::SC_Register, clang::SemaBase::SemaRef, clang::Decl::setAccess(), and clang::VarDecl::TLS_None.
| OMPClause * SemaOpenMP::ActOnOpenMPAllocatorClause | ( | Expr * | Allocator, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'allocator' clause.
Definition at line 18812 of file SemaOpenMP.cpp.
References DSAStack, findOMPAllocatorHandleT(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::Initializing, clang::ActionResult< PtrTy, Compress >::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPAllocatorClause().
| StmtResult SemaOpenMP::ActOnOpenMPAssumeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Process an OpenMP assume directive.
| Clauses | Array of clauses for directive. |
| AStmt | The associated statement. |
| StartLoc | The start location. |
| EndLoc | The end location. |
Definition at line 3815 of file SemaOpenMP.cpp.
References OMPAssumeDirective::Create(), clang::SemaBase::getASTContext(), and clang::StmtError().
Referenced by ActOnOpenMPInformationalDirective().
| void SemaOpenMP::ActOnOpenMPAssumesDirective | ( | SourceLocation | Loc, |
| OpenMPDirectiveKind | DKind, | ||
| ArrayRef< std::string > | Assumptions, | ||
| bool | SkippedClauses ) |
Called on well-formed '#pragma omp [begin] assume[s]'.
Definition at line 3755 of file SemaOpenMP.cpp.
References clang::DeclContext::decls(), Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), and clang::SemaBase::SemaRef.
| OMPClause * SemaOpenMP::ActOnOpenMPAtClause | ( | OpenMPAtClauseKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'at' clause.
Definition at line 19254 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), and clang::OMPC_AT_unknown.
Referenced by ActOnOpenMPSimpleClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPAtClause().
| OMPClause * SemaOpenMP::ActOnOpenMPAtomicDefaultMemOrderClause | ( | OpenMPAtomicDefaultMemOrderClauseKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'atomic_default_mem_order' clause.
Definition at line 19239 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), and clang::OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown.
Referenced by ActOnOpenMPSimpleClause().
| StmtResult SemaOpenMP::ActOnOpenMPAtomicDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp atomic' after parsing of the associated statement.
Definition at line 13533 of file SemaOpenMP.cpp.
References clang::C, OMPAtomicDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::First, clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::BinaryOperator::getExprLoc(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::BinaryOperator::getLHS(), clang::BinaryOperator::getOpcode(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), clang::BinaryOperator::getOperatorLoc(), clang::BinaryOperator::getRHS(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::Expr::IgnoreParenImpCasts(), clang::Expr::isInstantiationDependent(), clang::Type::isScalarType(), clang::Stmt::Profile(), clang::SemaBase::SemaRef, clang::StmtError(), V, and X.
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPBarrierDirective | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp barrier'.
Definition at line 12152 of file SemaOpenMP.cpp.
References OMPBarrierDirective::Create(), and clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPExecutableDirective().
| void SemaOpenMP::ActOnOpenMPBeginDeclareVariant | ( | SourceLocation | Loc, |
| OMPTraitInfo & | TI ) |
Handle a omp begin declare variant.
Definition at line 2822 of file SemaOpenMP.cpp.
| OMPClause * SemaOpenMP::ActOnOpenMPBindClause | ( | OpenMPBindClauseKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on a well-formed 'bind' clause.
Definition at line 27604 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), and clang::OMPC_BIND_unknown.
Referenced by ActOnOpenMPExecutableDirective(), ActOnOpenMPSimpleClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPBindClause().
| ExprResult SemaOpenMP::ActOnOpenMPCall | ( | ExprResult | Call, |
| Scope * | Scope, | ||
| SourceLocation | LParenLoc, | ||
| MultiExprArg | ArgExprs, | ||
| SourceLocation | RParenLoc, | ||
| Expr * | ExecConfig ) |
Given the potential call expression Call, determine if there is a specialization via the OpenMP declare variant mechanism available.
If there is, return the specialized call expression, otherwise return the original Call.
Definition at line 7771 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), clang::Call, clang::cast(), clang::PseudoObjectExpr::Create(), clang::MemberExpr::CreateImplicit(), clang::SemaBase::Diag(), DSAStack, std::function, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), OMPTraitInfo::getAsVariantMatchInfo(), clang::CallExpr::getBeginLoc(), clang::CallExpr::getCallee(), clang::DeclRefExpr::getDecl(), clang::CallExpr::getDirectCallee(), clang::NamedDecl::getIdentifier(), clang::SemaBase::getLangOpts(), clang::NamedDecl::getName(), getOpenMPDeviceNum(), clang::FunctionDecl::getPreviousDecl(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::Expr::IgnoreParenImpCasts(), isInOpenMPTargetExecutionDirective(), clang::QualType::isNull(), clang::Scope::isOpenMPOrderClauseScope(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::ASTContext::mergeFunctionTypes(), clang::SemaBase::SemaRef, and clang::Decl::specific_attrs().
Referenced by clang::Sema::ActOnCallExpr().
| StmtResult SemaOpenMP::ActOnOpenMPCancelDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| OpenMPDirectiveKind | CancelRegion ) |
Called on well-formed '#pragma omp cancel'.
Definition at line 14404 of file SemaOpenMP.cpp.
References OMPCancelDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPCancellationPointDirective | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc, | ||
| OpenMPDirectiveKind | CancelRegion ) |
Called on well-formed '#pragma omp cancellation point'.
Definition at line 14389 of file SemaOpenMP.cpp.
References OMPCancellationPointDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPCanonicalLoop | ( | Stmt * | AStmt | ) |
Called for syntactical loops (ForStmt or CXXForRangeStmt) associated to an OpenMP loop directive.
Definition at line 6230 of file SemaOpenMP.cpp.
References clang::AssertSuccess(), buildDistanceFunc(), buildLoopVarFunc(), clang::cast(), clang::IntegerLiteral::Create(), clang::SemaBase::getASTContext(), getIntTypeForBitwidthOrBitInt(), clang::ASTContext::getIntWidth(), clang::DeclStmt::getSingleDecl(), clang::ValueDecl::getType(), clang::ASTContext::getUnsignedPointerDiffType(), clang::Expr::IgnoreImplicit(), clang::Init, clang::isa(), clang::Type::isIntegerType(), clang::BinaryOperator::reverseComparisonOp(), clang::SemaBase::SemaRef, and clang::VK_LValue.
Referenced by ActOnOpenMPLoopnest(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPCanonicalLoop().
| OMPClause * SemaOpenMP::ActOnOpenMPCaptureClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'capture' clause.
Definition at line 20078 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPClause | ( | OpenMPClauseKind | Kind, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 19867 of file SemaOpenMP.cpp.
References ActOnOpenMPAcqRelClause(), ActOnOpenMPAcquireClause(), ActOnOpenMPCaptureClause(), ActOnOpenMPCompareClause(), ActOnOpenMPDestroyClause(), ActOnOpenMPDynamicAllocatorsClause(), ActOnOpenMPFailClause(), ActOnOpenMPFullClause(), ActOnOpenMPMergeableClause(), ActOnOpenMPNogroupClause(), ActOnOpenMPNowaitClause(), ActOnOpenMPOrderedClause(), ActOnOpenMPPartialClause(), ActOnOpenMPReadClause(), ActOnOpenMPRelaxedClause(), ActOnOpenMPReleaseClause(), ActOnOpenMPReverseOffloadClause(), ActOnOpenMPSelfMapsClause(), ActOnOpenMPSeqCstClause(), ActOnOpenMPSIMDClause(), ActOnOpenMPThreadsClause(), ActOnOpenMPUnifiedAddressClause(), ActOnOpenMPUnifiedSharedMemoryClause(), ActOnOpenMPUntiedClause(), ActOnOpenMPUpdateClause(), ActOnOpenMPWeakClause(), ActOnOpenMPWriteClause(), and ActOnOpenMPXBareClause().
| OMPClause * SemaOpenMP::ActOnOpenMPCollapseClause | ( | Expr * | NumForLoops, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'collapse' clause.
Definition at line 18834 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPCollapseClause().
| OMPClause * SemaOpenMP::ActOnOpenMPCompareClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'compare' clause.
Definition at line 20083 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPCopyinClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'copyin' clause.
Definition at line 23174 of file SemaOpenMP.cpp.
References buildDeclRefExpr(), buildVarDecl(), clang::cast(), OMPCopyinClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::ASTContext::getBaseElementType(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::QualType::getNonReferenceType(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), clang::ValueDecl::getType(), clang::QualType::getUnqualifiedType(), clang::Decl::hasAttrs(), clang::isa(), clang::Type::isDependentType(), clang::Type::isInstantiationDependentType(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPCopyinClause().
| OMPClause * SemaOpenMP::ActOnOpenMPCopyprivateClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'copyprivate' clause.
Definition at line 23271 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), buildVarDecl(), OMPCopyprivateClause::Create(), clang::VarDecl::DeclarationOnly, clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::ASTContext::getBaseElementType(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), getPrivateItem(), clang::ValueDecl::getType(), clang::QualType::getUnqualifiedType(), clang::Decl::hasAttrs(), clang::isa(), clang::Type::isAnyPointerType(), clang::ActionResult< PtrTy, Compress >::isInvalid(), isOpenMPCapturedDecl(), clang::Type::isVariablyModifiedType(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPCopyprivateClause().
| OMPClause * SemaOpenMP::ActOnOpenMPCountsClause | ( | ArrayRef< Expr * > | CountExprs, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc, | ||
| std::optional< unsigned > | FillIdx, | ||
| SourceLocation | FillLoc, | ||
| unsigned | FillCount ) |
Called on well-formed 'counts' clause after parsing its arguments.
Definition at line 19435 of file SemaOpenMP.cpp.
References clang::OMPCountsClause::Create(), clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPCountsClause().
| StmtResult SemaOpenMP::ActOnOpenMPCriticalDirective | ( | const DeclarationNameInfo & | DirName, |
| ArrayRef< OMPClause * > | Clauses, | ||
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp critical' after parsing of the associated statement.
Definition at line 11949 of file SemaOpenMP.cpp.
References clang::C, clang::cast(), OMPCriticalDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::Expr::EvaluateKnownConstInt(), clang::SemaBase::getASTContext(), clang::DeclarationNameInfo::getName(), clang::Expr::isInstantiationDependent(), clang::Expr::isTypeDependent(), clang::SourceLocation::isValid(), clang::Expr::isValueDependent(), clang::SemaBase::SemaRef, clang::StmtError(), and toString().
Referenced by ActOnOpenMPExecutableDirective().
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPDeclareMapperDirective | ( | Scope * | S, |
| DeclContext * | DC, | ||
| DeclarationName | Name, | ||
| QualType | MapperType, | ||
| SourceLocation | StartLoc, | ||
| DeclarationName | VN, | ||
| AccessSpecifier | AS, | ||
| Expr * | MapperVarRef, | ||
| ArrayRef< OMPClause * > | Clauses, | ||
| Decl * | PrevDeclInScope = nullptr ) |
Called for '#pragma omp declare mapper'.
Definition at line 25757 of file SemaOpenMP.cpp.
References clang::DeclContext::addDecl(), clang::cast(), clang::sema::FunctionScopeInfo::CompoundScopes, clang::OMPDeclareMapperDecl::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::QualType::getCanonicalType(), clang::SemaBase::getLangOpts(), clang::Invalid, clang::Sema::LookupOMPMapperName, clang::OpaquePtr< DeclGroupRef >::make(), clang::LookupResult::makeFilter(), processImplicitMapsWithDefaultMappers(), clang::SemaBase::SemaRef, clang::Decl::setDeclContext(), and clang::Decl::setLexicalDeclContext().
| ExprResult SemaOpenMP::ActOnOpenMPDeclareMapperDirectiveVarDecl | ( | Scope * | S, |
| QualType | MapperType, | ||
| SourceLocation | StartLoc, | ||
| DeclarationName | VN ) |
Build the mapper variable of '#pragma omp declare mapper'.
Definition at line 25844 of file SemaOpenMP.cpp.
References buildDeclRefExpr(), clang::VarDecl::Create(), DSAStack, clang::DeclarationName::getAsIdentifierInfo(), clang::SemaBase::getASTContext(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::SC_None, and clang::SemaBase::SemaRef.
| QualType SemaOpenMP::ActOnOpenMPDeclareMapperType | ( | SourceLocation | TyLoc, |
| TypeResult | ParsedType ) |
Check if the specified type is allowed to be used in 'omp declare mapper' construct.
Definition at line 25741 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::QualType::isNull(), clang::Type::isStructureOrClassType(), clang::Type::isUnionType(), and clang::SemaBase::SemaRef.
| TypeResult SemaOpenMP::ActOnOpenMPDeclareMapperVarDecl | ( | Scope * | S, |
| Declarator & | D ) |
Check variable declaration in 'omp declare mapper' construct.
Definition at line 25726 of file SemaOpenMP.cpp.
References clang::CPlusPlus, clang::SemaBase::getLangOpts(), clang::TypeSourceInfo::getType(), clang::Declarator::isInvalidType(), clang::SemaBase::SemaRef, and clang::T.
Finish current declare reduction construct initializer.
Definition at line 25617 of file SemaOpenMP.cpp.
References clang::cast(), and clang::SemaBase::SemaRef.
Initialize declare reduction construct initializer.
Definition at line 25570 of file SemaOpenMP.cpp.
References buildDeclRefExpr(), buildVarDecl(), clang::cast(), clang::Decl::getLocation(), clang::Sema::PotentiallyEvaluated, and clang::SemaBase::SemaRef.
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPDeclareReductionDirectiveEnd | ( | Scope * | S, |
| DeclGroupPtrTy | DeclReductions, | ||
| bool | IsValid ) |
Called at the end of '#pragma omp declare reduction'.
Definition at line 25712 of file SemaOpenMP.cpp.
References clang::cast(), clang::OpaquePtr< PtrTy >::get(), clang::SemaBase::SemaRef, and clang::Decl::setInvalidDecl().
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPDeclareReductionDirectiveStart | ( | Scope * | S, |
| DeclContext * | DC, | ||
| DeclarationName | Name, | ||
| ArrayRef< std::pair< QualType, SourceLocation > > | ReductionTypes, | ||
| AccessSpecifier | AS, | ||
| Decl * | PrevDeclInScope = nullptr ) |
Called on start of '#pragma omp declare reduction'.
Definition at line 25489 of file SemaOpenMP.cpp.
References clang::DeclContext::addDecl(), clang::cast(), clang::sema::FunctionScopeInfo::CompoundScopes, clang::DeclGroupRef::Create(), clang::OMPDeclareReductionDecl::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Invalid, clang::Sema::LookupOMPReductionName, clang::OpaquePtr< DeclGroupRef >::make(), clang::LookupResult::makeFilter(), and clang::SemaBase::SemaRef.
| void SemaOpenMP::ActOnOpenMPDeclareReductionInitializerEnd | ( | Decl * | D, |
| Expr * | Initializer, | ||
| VarDecl * | OmpPrivParm ) |
Finish current declare reduction construct initializer.
Definition at line 25680 of file SemaOpenMP.cpp.
References clang::Call, clang::cast(), clang::Copy, clang::Direct, clang::Type::getAsCXXRecordDecl(), clang::VarDecl::getInit(), clang::VarDecl::hasInit(), clang::Initializer, clang::VarDecl::isDirectInit(), and clang::SemaBase::SemaRef.
Initialize declare reduction construct initializer.
Definition at line 25632 of file SemaOpenMP.cpp.
References buildDeclRefExpr(), buildVarDecl(), clang::cast(), clang::Decl::getLocation(), clang::Sema::PotentiallyEvaluated, and clang::SemaBase::SemaRef.
| QualType SemaOpenMP::ActOnOpenMPDeclareReductionType | ( | SourceLocation | TyLoc, |
| TypeResult | ParsedType ) |
Check if the specified type is allowed to be used in 'omp declare reduction' construct.
Definition at line 25456 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::QualType::hasQualifiers(), clang::Type::isArrayType(), clang::Type::isFunctionType(), clang::QualType::isNull(), clang::Type::isReferenceType(), and clang::SemaBase::SemaRef.
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPDeclareSimdDirective | ( | DeclGroupPtrTy | DG, |
| OMPDeclareSimdDeclAttr::BranchStateTy | BS, | ||
| Expr * | Simdlen, | ||
| ArrayRef< Expr * > | Uniforms, | ||
| ArrayRef< Expr * > | Aligneds, | ||
| ArrayRef< Expr * > | Alignments, | ||
| ArrayRef< Expr * > | Linears, | ||
| ArrayRef< unsigned > | LinModifiers, | ||
| ArrayRef< Expr * > | Steps, | ||
| SourceRange | SR ) |
Called on well-formed '#pragma omp declare simd' after parsing of the associated method/function.
Definition at line 7335 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), clang::Allow, CheckOpenMPLinearDecl(), clang::Expr::containsUnexpandedParameterPack(), Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::OpaquePtr< PtrTy >::get(), clang::SemaBase::getASTContext(), clang::SourceRange::getBegin(), clang::FieldDecl::getCanonicalDecl(), clang::VarDecl::getCanonicalDecl(), clang::DeclRefExpr::getDecl(), clang::NamedDecl::getDeclName(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), getOpenMPClauseNameForDiag(), clang::DeclGroupRef::getSingleDecl(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::QualType::getTypePtrOrNull(), clang::Type::hasIntegerRepresentation(), clang::Expr::IgnoreParenImpCasts(), clang::isa(), clang::Type::isArrayType(), clang::Expr::isInstantiationDependent(), clang::DeclGroupRef::isNull(), clang::Type::isPointerType(), clang::DeclGroupRef::isSingleDecl(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), PerformOpenMPImplicitIntegerConversion(), clang::SemaBase::SemaRef, and VerifyPositiveIntegerConstantInClause().
Referenced by instantiateOMPDeclareSimdDeclAttr().
| void SemaOpenMP::ActOnOpenMPDeclareTargetInitializer | ( | Decl * | D | ) |
Adds OMPDeclareTargetDeclAttr to referenced variables in declare target directive.
Adding OMPDeclareTargetDeclAttr to variables with static storage duration that are referenced in the initializer expression list of variables with static storage duration in declare target directive.
Definition at line 26728 of file SemaOpenMP.cpp.
References GlobalDeclRefChecker::declareTargetInitializer(), and clang::isa().
Referenced by ActOnOpenMPDeclareTargetName(), and clang::Sema::FinalizeDeclaratorGroup().
| void SemaOpenMP::ActOnOpenMPDeclareTargetName | ( | NamedDecl * | ND, |
| SourceLocation | Loc, | ||
| OMPDeclareTargetDeclAttr::MapTypeTy | MT, | ||
| DeclareTargetContextInfo & | DTCI ) |
Called on correct id-expression from the '#pragma omp declare target'.
Definition at line 26477 of file SemaOpenMP.cpp.
References ActOnOpenMPDeclareTargetInitializer(), clang::Decl::addAttr(), clang::cast(), checkDeclIsAllowedInOpenMPTarget(), clang::SemaBase::Diag(), clang::SemaOpenMP::DeclareTargetContextInfo::DT, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::NamedDecl::getNameAsString(), clang::Decl::hasAttr(), clang::HIP, clang::SemaOpenMP::DeclareTargetContextInfo::Indirect, clang::isa(), clang::Decl::isReferenced(), and clang::Decl::isUsed().
Referenced by ActOnFinishedOpenMPDeclareTargetContext().
| void SemaOpenMP::ActOnOpenMPDeclareVariantDirective | ( | FunctionDecl * | FD, |
| Expr * | VariantRef, | ||
| OMPTraitInfo & | TI, | ||
| ArrayRef< Expr * > | AdjustArgsNothing, | ||
| ArrayRef< Expr * > | AdjustArgsNeedDevicePtr, | ||
| ArrayRef< Expr * > | AdjustArgsNeedDeviceAddr, | ||
| ArrayRef< OMPInteropInfo > | AppendArgs, | ||
| SourceLocation | AdjustArgsLoc, | ||
| SourceLocation | AppendArgsLoc, | ||
| SourceRange | SR ) |
Called on well-formed '#pragma omp declare variant' after parsing of the associated method/function.
| FD | Function declaration to which declare variant directive is applied to. |
| VariantRef | Expression that references the variant function, which must be used instead of the original one, specified in DG. |
| TI | The context traits associated with the function variant. |
| AdjustArgsNothing | The list of 'nothing' arguments. |
| AdjustArgsNeedDevicePtr | The list of 'need_device_ptr' arguments. |
| AppendArgs | The list of 'append_args' arguments. |
| AdjustArgsLoc | The Location of an 'adjust_args' clause. |
| AppendArgsLoc | The Location of an 'append_args' clause. |
| SR | The SourceRange of the 'declare variant' directive. |
Definition at line 8266 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), checkPreferTypeArgs(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), OMPTraitInfo::getAsVariantMatchInfo(), clang::VarDecl::getCanonicalDecl(), clang::DeclRefExpr::getDecl(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::DeclRefExpr::getLocation(), clang::FunctionDecl::getNumParams(), getOpenMPClauseNameForDiag(), clang::FunctionDecl::getParamDecl(), clang::ValueDecl::getType(), clang::Expr::IgnoreParenImpCasts(), and clang::Type::isReferenceType().
Referenced by instantiateOMPDeclareVariantAttr().
| OMPClause * SemaOpenMP::ActOnOpenMPDefaultClause | ( | llvm::omp::DefaultKind | M, |
| SourceLocation | MLoc, | ||
| OpenMPDefaultClauseVariableCategory | VCKind, | ||
| SourceLocation | VCKindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'default' clause.
Definition at line 19004 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), clang::getOpenMPSimpleClauseTypeName(), clang::isOpenMPTargetExecutionDirective(), and clang::OMPC_DEFAULT_VC_unknown.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDefaultClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDefaultmapClause | ( | OpenMPDefaultmapClauseModifier | M, |
| OpenMPDefaultmapClauseKind | Kind, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | MLoc, | ||
| SourceLocation | KindLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'defaultmap' clause.
Definition at line 26306 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPClauseNameForDiag(), clang::getOpenMPSimpleClauseTypeName(), clang::SourceLocation::isInvalid(), clang::OMPC_DEFAULTMAP_MODIFIER_unknown, and clang::OMPC_DEFAULTMAP_unknown.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDefaultmapClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDependClause | ( | const OMPDependClause::DependDataTy & | Data, |
| Expr * | DepModifier, | ||
| ArrayRef< Expr * > | VarList, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'depend' clause.
Definition at line 23583 of file SemaOpenMP.cpp.
References clang::C, OMPDependClause::Create(), clang::Data, clang::SemaBase::Diag(), DSAStack, findOMPDependT(), clang::SemaBase::getASTContext(), clang::ArraySectionExpr::getBaseOriginalType(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), clang::QualType::getNonReferenceType(), getOpenMPClauseNameForDiag(), clang::Expr::getType(), clang::isa(), clang::Type::isSpecificBuiltinType(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::OMPC_DEPEND_unknown, ProcessOpenMPDoacrossClauseCommon(), clang::Result, clang::SemaBase::SemaRef, and clang::SimpleExpr.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDependClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDepobjClause | ( | Expr * | Depobj, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'depobj' pseudo clause.
Definition at line 23423 of file SemaOpenMP.cpp.
References clang::Expr::containsUnexpandedParameterPack(), clang::SemaBase::Diag(), DSAStack, findOMPDependT(), clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::Expr::isInstantiationDependent(), clang::Expr::isLValue(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDepobjClause().
| StmtResult SemaOpenMP::ActOnOpenMPDepobjDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp depobj'.
Definition at line 12268 of file SemaOpenMP.cpp.
References OMPDepobjDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPDepthClause | ( | Expr * | DepthExpr, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'depth' clause.
Definition at line 19533 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDepthClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDestroyClause | ( | Expr * | InteropVar, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | VarLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'destroy' clause.
Definition at line 20340 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), isValidInteropVariable(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDestroyClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDetachClause | ( | Expr * | Evt, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'detach' clause.
Definition at line 26202 of file SemaOpenMP.cpp.
References clang::Expr::containsUnexpandedParameterPack(), clang::SemaBase::Diag(), DSAStack, findOMPEventHandleT(), clang::SemaBase::getASTContext(), clang::DeclRefExpr::getDecl(), clang::Expr::getExprLoc(), getOpenMPClauseNameForDiag(), clang::Stmt::getSourceRange(), clang::ValueDecl::getType(), clang::Expr::IgnoreParenImpCasts(), clang::QualType::isConstant(), clang::Expr::isInstantiationDependent(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDetachClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDeviceClause | ( | OpenMPDeviceClauseModifier | Modifier, |
| Expr * | Device, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ModifierLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'device' clause.
Definition at line 23776 of file SemaOpenMP.cpp.
References buildPreInits(), clang::Device, clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::Expr::getIntegerConstantExpr(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPCaptureRegionForClause(), getOpenMPClauseNameForDiag(), clang::Stmt::getSourceRange(), clang::Expr::isInstantiationDependent(), clang::SourceLocation::isInvalid(), isNonNegativeIntegerValue(), clang::Expr::isTypeDependent(), clang::SourceLocation::isValid(), clang::Expr::isValueDependent(), clang::OMPC_DEVICE_unknown, PerformOpenMPImplicitIntegerConversion(), clang::Result, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDeviceClause().
| void SemaOpenMP::ActOnOpenMPDeviceNum | ( | Expr * | DeviceNumExpr | ) |
Called on device_num selector in context selectors.
Definition at line 18698 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::Expr::EvaluateAsInt(), clang::Expr::getExprLoc(), clang::APValue::getInt(), clang::IdentifierInfo::getName(), clang::Stmt::getSourceRange(), clang::Expr::isValueDependent(), clang::Result, clang::SemaBase::SemaRef, setOpenMPDeviceNum(), setOpenMPDeviceNumID(), and clang::Expr::EvalResult::Val.
| ExprResult SemaOpenMP::ActOnOpenMPDimsModifier | ( | OpenMPClauseKind | Kind, |
| int | Modifier, | ||
| Expr * | ModifierExpr, | ||
| SourceLocation | ModifierLoc, | ||
| ArrayRef< Expr * > | VarList, | ||
| SourceLocation | VarListEndLoc ) |
Definition at line 25892 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::Expr::EvaluateKnownConstInt(), clang::ExprError(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::getOpenMPSimpleClauseTypeName(), clang::Expr::isInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPNumTeamsClause(), ActOnOpenMPNumThreadsClause(), and ActOnOpenMPThreadLimitClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDirectivePresenceClause | ( | OpenMPClauseKind | CK, |
| llvm::ArrayRef< OpenMPDirectiveKind > | DKVec, | ||
| SourceLocation | Loc, | ||
| SourceLocation | LLoc, | ||
| SourceLocation | RLoc ) |
Called on well-formed 'absent' or 'contains' clauses.
Definition at line 27749 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
| StmtResult SemaOpenMP::ActOnOpenMPDispatchDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp dispatch' after parsing of the.
Definition at line 11538 of file SemaOpenMP.cpp.
References clang::cast(), OMPDispatchDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), getDirectCallExpr(), clang::Expr::getExprLoc(), clang::Expr::IgnoreImplicit(), clang::Expr::IgnoreParenCasts(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPDistributeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp distribute' after parsing of the associated statement.
Definition at line 14842 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), OMPDistributeDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPDistributeParallelForDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp distribute parallel for' after parsing of the associated statement.
Definition at line 14868 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), OMPDistributeParallelForDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPDistributeParallelForSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp distribute parallel for simd' after parsing of the associated statement.
Definition at line 14895 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPDistributeParallelForSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPDistributeSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp distribute simd' after parsing of the associated statement.
Definition at line 14924 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPDistributeSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPDistScheduleClause | ( | OpenMPDistScheduleClauseKind | Kind, |
| Expr * | ChunkSize, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | KindLoc, | ||
| SourceLocation | CommaLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'dist_schedule' clause.
Definition at line 26251 of file SemaOpenMP.cpp.
References buildPreInits(), clang::Expr::containsUnexpandedParameterPack(), clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Expr::getIntegerConstantExpr(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), getOpenMPClauseNameForDiag(), clang::getOpenMPSimpleClauseTypeName(), clang::Stmt::getSourceRange(), clang::Expr::isInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), clang::OMPC_DIST_SCHEDULE_unknown, PerformOpenMPImplicitIntegerConversion(), clang::Result, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDistScheduleClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDoacrossClause | ( | OpenMPDoacrossClauseModifier | DepType, |
| SourceLocation | DepLoc, | ||
| SourceLocation | ColonLoc, | ||
| ArrayRef< Expr * > | VarList, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'doacross' clause.
Definition at line 27693 of file SemaOpenMP.cpp.
References clang::C, OMPDoacrossClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), getOpenMPClauseNameForDiag(), ProcessOpenMPDoacrossClauseCommon(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDoacrossClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDynamicAllocatorsClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'dynamic_allocators' clause.
Definition at line 20169 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPDynGroupprivateClause | ( | OpenMPDynGroupprivateClauseModifier | M1, |
| OpenMPDynGroupprivateClauseFallbackModifier | M2, | ||
| Expr * | Size, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | M1Loc, | ||
| SourceLocation | M2Loc, | ||
| SourceLocation | EndLoc ) |
Called on a well-formed 'dyn_groupprivate' clause.
Definition at line 27650 of file SemaOpenMP.cpp.
References buildPreInits(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPCaptureRegionForClause(), isNonNegativeIntegerValue(), clang::SourceLocation::isValid(), clang::OMPC_DYN_GROUPPRIVATE_FALLBACK_unknown, clang::OMPC_DYN_GROUPPRIVATE_unknown, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPDynGroupprivateClause().
| void SemaOpenMP::ActOnOpenMPEndAssumesDirective | ( | ) |
Called on well-formed '#pragma omp end assumes'.
Definition at line 3810 of file SemaOpenMP.cpp.
References isInOpenMPAssumeScope().
| const SemaOpenMP::DeclareTargetContextInfo SemaOpenMP::ActOnOpenMPEndDeclareTargetDirective | ( | ) |
Called at the end of target region i.e. '#pragma omp end declare target'.
Definition at line 26420 of file SemaOpenMP.cpp.
| void SemaOpenMP::ActOnOpenMPEndDeclareVariant | ( | ) |
Handle a omp end declare variant.
Definition at line 2827 of file SemaOpenMP.cpp.
References isInOpenMPDeclareVariantScope().
| StmtResult SemaOpenMP::ActOnOpenMPErrorDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| bool | InExContext = true ) |
Called on well-formed '#pragma omp error'.
Error direcitive is allowed in both declared and excutable contexts. Adding InExContext to identify which context is called from.
Definition at line 12157 of file SemaOpenMP.cpp.
References OMPErrorDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), getOpenMPClauseNameForDiag(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPExclusiveClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'exclusive' clause.
Definition at line 27369 of file SemaOpenMP.cpp.
References OMPExclusiveClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), getPrivateItem(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPExclusiveClause().
| StmtResult SemaOpenMP::ActOnOpenMPExecutableDirective | ( | OpenMPDirectiveKind | Kind, |
| const DeclarationNameInfo & | DirName, | ||
| OpenMPDirectiveKind | CancelRegion, | ||
| ArrayRef< OMPClause * > | Clauses, | ||
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 6607 of file SemaOpenMP.cpp.
References ActOnOpenMPAtomicDirective(), ActOnOpenMPBarrierDirective(), ActOnOpenMPBindClause(), ActOnOpenMPCancelDirective(), ActOnOpenMPCancellationPointDirective(), ActOnOpenMPCriticalDirective(), ActOnOpenMPDepobjDirective(), ActOnOpenMPDispatchDirective(), ActOnOpenMPDistributeDirective(), ActOnOpenMPDistributeParallelForDirective(), ActOnOpenMPDistributeParallelForSimdDirective(), ActOnOpenMPDistributeSimdDirective(), ActOnOpenMPErrorDirective(), ActOnOpenMPFirstprivateClause(), ActOnOpenMPFlattenDirective(), ActOnOpenMPFlushDirective(), ActOnOpenMPForDirective(), ActOnOpenMPForSimdDirective(), ActOnOpenMPFuseDirective(), ActOnOpenMPGenericLoopDirective(), ActOnOpenMPInterchangeDirective(), ActOnOpenMPInteropDirective(), ActOnOpenMPMapClause(), ActOnOpenMPMaskedDirective(), ActOnOpenMPMaskedTaskLoopDirective(), ActOnOpenMPMaskedTaskLoopSimdDirective(), ActOnOpenMPMasterDirective(), ActOnOpenMPMasterTaskLoopDirective(), ActOnOpenMPMasterTaskLoopSimdDirective(), ActOnOpenMPOrderedDirective(), ActOnOpenMPParallelDirective(), ActOnOpenMPParallelForDirective(), ActOnOpenMPParallelForSimdDirective(), ActOnOpenMPParallelGenericLoopDirective(), ActOnOpenMPParallelMaskedDirective(), ActOnOpenMPParallelMaskedTaskLoopDirective(), ActOnOpenMPParallelMaskedTaskLoopSimdDirective(), ActOnOpenMPParallelMasterDirective(), ActOnOpenMPParallelMasterTaskLoopDirective(), ActOnOpenMPParallelMasterTaskLoopSimdDirective(), ActOnOpenMPParallelSectionsDirective(), ActOnOpenMPPrivateClause(), ActOnOpenMPReverseDirective(), ActOnOpenMPScanDirective(), ActOnOpenMPScopeDirective(), ActOnOpenMPSectionDirective(), ActOnOpenMPSectionsDirective(), ActOnOpenMPSimdDirective(), ActOnOpenMPSingleDirective(), ActOnOpenMPSplitDirective(), ActOnOpenMPStripeDirective(), ActOnOpenMPTargetDataDirective(), ActOnOpenMPTargetDirective(), ActOnOpenMPTargetEnterDataDirective(), ActOnOpenMPTargetExitDataDirective(), ActOnOpenMPTargetParallelDirective(), ActOnOpenMPTargetParallelForDirective(), ActOnOpenMPTargetParallelForSimdDirective(), ActOnOpenMPTargetParallelGenericLoopDirective(), ActOnOpenMPTargetSimdDirective(), ActOnOpenMPTargetTeamsDirective(), ActOnOpenMPTargetTeamsDistributeDirective(), ActOnOpenMPTargetTeamsDistributeParallelForDirective(), ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(), ActOnOpenMPTargetTeamsDistributeSimdDirective(), ActOnOpenMPTargetTeamsGenericLoopDirective(), ActOnOpenMPTargetUpdateDirective(), ActOnOpenMPTaskDirective(), ActOnOpenMPTaskgroupDirective(), ActOnOpenMPTaskLoopDirective(), ActOnOpenMPTaskLoopSimdDirective(), ActOnOpenMPTaskwaitDirective(), ActOnOpenMPTaskyieldDirective(), ActOnOpenMPTeamsDirective(), ActOnOpenMPTeamsDistributeDirective(), ActOnOpenMPTeamsDistributeParallelForDirective(), ActOnOpenMPTeamsDistributeParallelForSimdDirective(), ActOnOpenMPTeamsDistributeSimdDirective(), ActOnOpenMPTeamsGenericLoopDirective(), ActOnOpenMPTileDirective(), ActOnOpenMPUnrollDirective(), clang::C, clang::cast(), checkCancelRegion(), checkIfClauses(), checkNestingOfRegions(), Diag(), DSAStack, clang::CapturedStmt::getCapturedStmt(), clang::SemaBase::getLangOpts(), getOpenMPCaptureLevels(), clang::getOpenMPCaptureRegions(), clang::HIP, clang::Expr::IgnoreParenImpCasts(), clang::Implicit, clang::isa(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::isOpenMPCapturingDirective(), clang::isOpenMPExecutableDirective(), clang::isOpenMPParallelDirective(), clang::isOpenMPTargetDataManagementDirective(), clang::isOpenMPTargetExecutionDirective(), clang::isOpenMPTaskingDirective(), clang::isOpenMPTaskLoopDirective(), clang::isOpenMPTeamsDirective(), clang::OMPC_BIND_unknown, clang::OMPC_DEFAULTMAP_unknown, clang::OMPC_MAP_MODIFIER_unknown, processImplicitMapsWithDefaultMappers(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPFailClause | ( | OpenMPClauseKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 20093 of file SemaOpenMP.cpp.
References clang::checkFailClauseParameter(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), and clang::Parameter.
| OMPClause * SemaOpenMP::ActOnOpenMPFailClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'fail' clause.
Definition at line 20088 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause(), and ActOnOpenMPSimpleClause().
| OMPClause * SemaOpenMP::ActOnOpenMPFilterClause | ( | Expr * | ThreadID, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'filter' clause.
Definition at line 20425 of file SemaOpenMP.cpp.
References buildPreInits(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPFilterClause().
| OMPClause * SemaOpenMP::ActOnOpenMPFinalClause | ( | Expr * | Condition, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'final' clause.
Definition at line 18408 of file SemaOpenMP.cpp.
References buildPreInits(), clang::Condition, DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPFinalClause().
| OMPClause * SemaOpenMP::ActOnOpenMPFirstprivateClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'firstprivate' clause.
Definition at line 20873 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::C, clang::cast(), clang::InitializationKind::CreateCopy(), clang::ASTContext::Deallocate(), clang::VarDecl::DeclarationOnly, clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::ASTContext::getBaseElementType(), clang::DeclRefExpr::getDecl(), clang::BindingDecl::getDecomposedDecl(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::NamedDecl::getName(), clang::QualType::getNonReferenceType(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), getPrivateItem(), clang::ValueDecl::getType(), clang::QualType::getUnqualifiedType(), clang::Decl::hasAttrs(), clang::Init, clang::InitializedEntity::InitializeVariable(), clang::Inits, clang::isa(), clang::Type::isAnyPointerType(), clang::Type::isArrayType(), clang::QualType::isConstant(), clang::SourceLocation::isInvalid(), clang::Decl::isInvalidDecl(), isOpenMPCapturedDecl(), clang::isOpenMPDistributeDirective(), clang::isOpenMPParallelDirective(), clang::isOpenMPTargetExecutionDirective(), clang::isOpenMPTaskingDirective(), clang::isOpenMPTeamsDirective(), clang::isOpenMPWorksharingDirective(), clang::Type::isVariablyModifiedType(), clang::InitializationSequence::Perform(), reportOriginalDsa(), clang::Result, clang::SemaBase::SemaRef, clang::VarDecl::setInit(), and clang::Decl::setInvalidDecl().
Referenced by ActOnOpenMPExecutableDirective(), ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPFirstprivateClause().
| StmtResult SemaOpenMP::ActOnOpenMPFlattenDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp flatten' after parsing of its clauses and the associated statement.
Definition at line 17269 of file SemaOpenMP.cpp.
References addLoopPreInits(), clang::AssertSuccess(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::cast(), collectLoopStmts(), clang::Converting, clang::CompoundStmt::Create(), clang::IfStmt::Create(), clang::IntegerLiteral::Create(), OMPFlattenDirective::Create(), clang::FixItHint::CreateInsertion(), clang::SemaBase::Diag(), clang::Expr::EvaluateAsInt(), clang::ExprError(), fitsInto(), clang::Found, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getEndLoc(), clang::APValue::getInt(), clang::Expr::getType(), clang::Type::hasSignedIntegerRepresentation(), clang::Stmt::IgnoreContainers(), clang::Init, clang::DeclContext::isDependentContext(), clang::Expr::isInstantiationDependent(), clang::Expr::isIntegerConstantExpr(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::Ordinary, clang::Result, clang::SemaBase::SemaRef, clang::StmtError(), V, clang::Expr::EvalResult::Val, widenIterationCount(), and clang::Zero.
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPFlushClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'flush' pseudo clause.
Definition at line 23395 of file SemaOpenMP.cpp.
References OMPFlushClause::Create(), and clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPFlushClause().
| StmtResult SemaOpenMP::ActOnOpenMPFlushDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp flush'.
Definition at line 12227 of file SemaOpenMP.cpp.
References clang::C, clang::cast(), OMPFlushDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::OMPClause::getBeginLoc(), clang::OMPClause::getClauseKind(), clang::SemaBase::getLangOpts(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPForDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp for' after parsing of the associated statement.
Definition at line 11413 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), OMPForDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPForSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp for simd' after parsing of the associated statement.
Definition at line 11438 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPForSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPFromClause | ( | ArrayRef< OpenMPMotionModifierKind > | MotionModifiers, |
| ArrayRef< SourceLocation > | MotionModifiersLoc, | ||
| Expr * | IteratorModifier, | ||
| CXXScopeSpec & | MapperIdScopeSpec, | ||
| DeclarationNameInfo & | MapperId, | ||
| SourceLocation | ColonLoc, | ||
| ArrayRef< Expr * > | VarList, | ||
| const OMPVarListLocTy & | Locs, | ||
| ArrayRef< Expr * > | UnresolvedMappers = {} ) |
Called on well-formed 'from' clause.
Definition at line 26776 of file SemaOpenMP.cpp.
References checkMappableExpressionList(), OMPFromClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::DeclRefExpr::getDecl(), clang::CXXScopeSpec::getWithLocInContext(), clang::NumberOfOMPMotionModifiers, clang::OMPC_MOTION_MODIFIER_unknown, clang::SemaBase::SemaRef, and clang::OMPVarListLocTy::StartLoc.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPFromClause().
| OMPClause * SemaOpenMP::ActOnOpenMPFullClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-form 'full' clauses.
Definition at line 19510 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPFullClause().
| StmtResult SemaOpenMP::ActOnOpenMPFuseDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp fuse' after parsing of its clauses and the associated statement.
Definition at line 17619 of file SemaOpenMP.cpp.
References addLoopPreInits(), clang::AssertSuccess(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::cast(), clang::Comparison, clang::Condition, clang::CompoundStmt::Create(), clang::IfStmt::Create(), clang::IntegerLiteral::Create(), OMPFuseDirective::Create(), clang::SemaBase::Diag(), clang::First, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::DeclRefExpr::getDecl(), clang::Stmt::getEndLoc(), clang::Expr::getExprLoc(), clang::ValueStmt::getExprStmt(), clang::Decl::getLocation(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::isa(), clang::DeclContext::isDependentContext(), clang::ActionResult< PtrTy, Compress >::isUnset(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::OK_Ordinary, clang::Ordinary, clang::SemaBase::SemaRef, clang::NamedDecl::setDeclName(), clang::VarDecl::setInit(), clang::StmtError(), and clang::VK_LValue.
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPGenericLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp loop' after parsing of the associated statement.
Definition at line 11613 of file SemaOpenMP.cpp.
References checkGenericLoopLastprivate(), checkOpenMPLoop(), OMPGenericLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPGrainsizeClause | ( | OpenMPGrainsizeClauseModifier | Modifier, |
| Expr * | Size, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ModifierLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'grainsize' clause.
Definition at line 26104 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), clang::SourceLocation::isInvalid(), isNonNegativeIntegerValue(), clang::SourceLocation::isValid(), clang::OMPC_GRAINSIZE_unknown, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPGrainsizeClause().
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPGroupPrivateDirective | ( | SourceLocation | Loc, |
| ArrayRef< Expr * > | VarList ) |
Called on well-formed '#pragma omp groupprivate'.
Definition at line 3365 of file SemaOpenMP.cpp.
References CheckOMPGroupPrivateDecl(), Diag(), clang::SemaBase::getLangOpts(), clang::OpaquePtr< DeclGroupRef >::make(), and clang::SemaBase::SemaRef.
| OMPClause * SemaOpenMP::ActOnOpenMPHasDeviceAddrClause | ( | ArrayRef< Expr * > | VarList, |
| const OMPVarListLocTy & | Locs ) |
Called on well-formed 'has_device_addr' clause.
Definition at line 27097 of file SemaOpenMP.cpp.
References buildCapture(), clang::cast(), OMPHasDeviceAddrClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), getPrivateItem(), clang::Stmt::getSourceRange(), clang::isa(), clang::isOpenMPPrivate(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPHasDeviceAddrClause().
| OMPClause * SemaOpenMP::ActOnOpenMPHintClause | ( | Expr * | Hint, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'hint' clause.
Definition at line 26171 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPHintClause().
| OMPClause * SemaOpenMP::ActOnOpenMPHoldsClause | ( | Expr * | E, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'holds' clause.
Definition at line 27740 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getSourceRange(), and clang::Expr::HasSideEffects().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPHoldsClause().
| ExprResult SemaOpenMP::ActOnOpenMPIdExpression | ( | Scope * | CurScope, |
| CXXScopeSpec & | ScopeSpec, | ||
| const DeclarationNameInfo & | Id, | ||
| OpenMPDirectiveKind | Kind ) |
Called on correct id-expression from the '#pragma omp threadprivate'.
Definition at line 3219 of file SemaOpenMP.cpp.
References clang::DeclRefExpr::Create(), clang::VarDecl::DeclarationOnly, Diag(), DSAStack, clang::LookupResult::empty(), clang::DeclContext::Equals(), clang::ErrorRecovery, clang::ExprError(), clang::LookupResult::getAsSingle(), clang::SemaBase::getASTContext(), clang::VarDecl::getCanonicalDecl(), clang::Decl::getDeclContext(), clang::LookupResult::getFoundDecl(), clang::SemaBase::getLangOpts(), clang::DeclarationNameInfo::getLoc(), clang::Decl::getLocation(), clang::DeclarationNameInfo::getName(), clang::QualType::getNonReferenceType(), clang::ValueDecl::getType(), clang::VarDecl::hasGlobalStorage(), clang::LookupResult::isAmbiguous(), clang::VarDecl::isLocalVarDecl(), clang::DeclContext::isNamespace(), clang::LookupResult::isSingleResult(), clang::VarDecl::isStaticDataMember(), clang::VarDecl::isStaticLocal(), clang::VarDecl::isThisDeclarationADefinition(), clang::DeclContext::isTranslationUnit(), clang::Decl::isUsed(), clang::Sema::LookupOrdinaryName, clang::SemaBase::SemaRef, clang::LookupResult::suppressDiagnostics(), and clang::VK_LValue.
| OMPClause * SemaOpenMP::ActOnOpenMPIfClause | ( | OpenMPDirectiveKind | NameModifier, |
| Expr * | Condition, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | NameModifierLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'if' clause.
Definition at line 18375 of file SemaOpenMP.cpp.
References buildPreInits(), clang::Condition, DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPIfClause().
| OMPClause * SemaOpenMP::ActOnOpenMPInclusiveClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'inclusive' clause.
Definition at line 27328 of file SemaOpenMP.cpp.
References OMPInclusiveClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), getPrivateItem(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPInclusiveClause().
| StmtResult SemaOpenMP::ActOnOpenMPInformationalDirective | ( | OpenMPDirectiveKind | Kind, |
| const DeclarationNameInfo & | DirName, | ||
| ArrayRef< OMPClause * > | Clauses, | ||
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Process an OpenMP informational directive.
| Kind | The directive kind. |
| DirName | Declaration name info. |
| Clauses | Array of clauses for directive. |
| AStmt | The associated statement. |
| StartLoc | The start location. |
| EndLoc | The end location. |
Definition at line 7590 of file SemaOpenMP.cpp.
References ActOnOpenMPAssumeDirective(), clang::isOpenMPInformationalDirective(), and clang::StmtError().
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPInformationalDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPInitClause | ( | Expr * | InteropVar, |
| OMPInteropInfo & | InteropInfo, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | VarLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'init' clause.
Definition at line 20313 of file SemaOpenMP.cpp.
References checkPreferTypeArgs(), OMPInitClause::Create(), clang::SemaBase::getASTContext(), isValidInteropVariable(), and clang::SemaBase::SemaRef.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPInitClause().
| OMPClause * SemaOpenMP::ActOnOpenMPInReductionClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | EndLoc, | ||
| CXXScopeSpec & | ReductionIdScopeSpec, | ||
| const DeclarationNameInfo & | ReductionId, | ||
| ArrayRef< Expr * > | UnresolvedReductions = {} ) |
Called on well-formed 'in_reduction' clause.
Definition at line 22764 of file SemaOpenMP.cpp.
References actOnOMPReductionKindClause(), buildPostUpdate(), buildPreInits(), DSAStack, clang::SemaBase::getASTContext(), clang::CXXScopeSpec::getWithLocInContext(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPInReductionClause().
| StmtResult SemaOpenMP::ActOnOpenMPInterchangeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp interchange' after parsing of its clauses and the associated statement.
Definition at line 17073 of file SemaOpenMP.cpp.
References addLoopPreInits(), clang::AssertSuccess(), buildDeclRefExpr(), buildPreInits(), clang::cast(), collectLoopStmts(), clang::CompoundStmt::Create(), OMPInterchangeDirective::Create(), clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::OMPPermutationClause::getArgsRefs(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::DeclRefExpr::getDecl(), clang::Stmt::getEndLoc(), clang::Expr::getExprLoc(), clang::OMPPermutationClause::getNumLoops(), clang::Expr::getType(), clang::DeclContext::isDependentContext(), clang::Type::isIntegerType(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SemaBase::SemaRef, clang::StmtError(), and clang::Zero.
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPInteropDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp interop'.
Definition at line 20180 of file SemaOpenMP.cpp.
References clang::C, clang::cast(), OMPInteropDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::LangOptions::getOpenMPVersion(), getPrivateItem(), hasClauses(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPIsDevicePtrClause | ( | ArrayRef< Expr * > | VarList, |
| const OMPVarListLocTy & | Locs ) |
Called on well-formed 'is_device_ptr' clause.
Definition at line 27011 of file SemaOpenMP.cpp.
References clang::cast(), OMPIsDevicePtrClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), getPrivateItem(), clang::Stmt::getSourceRange(), clang::ValueDecl::getType(), clang::isa(), clang::Type::isArrayType(), clang::isOpenMPPrivate(), clang::Type::isPointerType(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPIsDevicePtrClause().
| void SemaOpenMP::ActOnOpenMPIteratorVarDecl | ( | VarDecl * | VD | ) |
Definition at line 25859 of file SemaOpenMP.cpp.
References DSAStack, clang::Decl::getDeclContext(), clang::VarDecl::isLocalVarDecl(), clang::DeclContext::isTranslationUnit(), and clang::SemaBase::SemaRef.
Referenced by ActOnOMPIteratorExpr().
| OMPClause * SemaOpenMP::ActOnOpenMPLastprivateClause | ( | ArrayRef< Expr * > | VarList, |
| OpenMPLastprivateModifier | LPKind, | ||
| SourceLocation | LPKindLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'lastprivate' clause.
Definition at line 21201 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), buildPostUpdate(), buildPreInits(), buildVarDecl(), clang::VarDecl::DeclarationOnly, clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::ASTContext::getBaseElementType(), clang::SourceRange::getBegin(), clang::DeclRefExpr::getDecl(), getListOfPossibleValues(), clang::Decl::getLocation(), clang::QualType::getNonReferenceType(), getOpenMPClauseNameForDiag(), getPrivateItem(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::Decl::hasAttrs(), clang::isa(), clang::ActionResult< PtrTy, Compress >::isInvalid(), isOpenMPCapturedDecl(), clang::isOpenMPDistributeDirective(), clang::isOpenMPParallelDirective(), clang::isOpenMPTeamsDirective(), clang::isOpenMPWorksharingDirective(), clang::Type::isScalarType(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SourceLocation::isValid(), clang::OMPC_LASTPRIVATE_unknown, rejectConstNotMutableType(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPLastprivateClause().
| OMPClause * SemaOpenMP::ActOnOpenMPLinearClause | ( | ArrayRef< Expr * > | VarList, |
| Expr * | Step, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| OpenMPLinearClauseKind | LinKind, | ||
| SourceLocation | LinLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | StepModifierLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'linear' clause.
Definition at line 22838 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), buildPostUpdate(), buildPreInits(), buildVarDecl(), clang::cast(), CheckOpenMPLinearDecl(), CheckOpenMPLinearModifier(), clang::Expr::containsUnexpandedParameterPack(), clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::Stmt::getBeginLoc(), clang::DeclRefExpr::getDecl(), clang::Expr::getIntegerConstantExpr(), clang::SemaBase::getLangOpts(), clang::NamedDecl::getName(), getOpenMPClauseNameForDiag(), getPrivateItem(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::Decl::hasAttrs(), clang::Init, clang::Inits, clang::isa(), clang::Expr::isInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::SourceLocation::isInvalid(), isOpenMPCapturedDecl(), clang::isOpenMPParallelDirective(), clang::Expr::isTypeDependent(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SourceLocation::isValid(), clang::Expr::isValueDependent(), PerformOpenMPImplicitIntegerConversion(), clang::Private, clang::Privates, reportOriginalDsa(), clang::Result, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPLinearClause().
| void SemaOpenMP::ActOnOpenMPLoopInitialization | ( | SourceLocation | ForLoc, |
| Stmt * | Init ) |
Check if the current region is an OpenMP loop region and if it is, mark loop control variable, used in Init for loop initialization, as private by default.
| Init | First part of the for loop. |
Definition at line 9953 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), clang::cast(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::DeclRefExpr::getDecl(), clang::SemaBase::getLangOpts(), clang::QualType::getNonLValueExprType(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), clang::ValueDecl::getType(), clang::Init, isOpenMPCapturedDecl(), clang::isOpenMPDistributeDirective(), clang::isOpenMPLoopDirective(), clang::isOpenMPSimdDirective(), clang::isOpenMPWorksharingDirective(), clang::Private, reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by clang::Sema::BuildCXXForRangeStmt().
| StmtResult SemaOpenMP::ActOnOpenMPLoopnest | ( | Stmt * | AStmt | ) |
Process a canonical OpenMP loop nest that can either be a canonical literal loop (ForStmt or CXXForRangeStmt), or the generated loop of an OpenMP loop transformation construct.
Definition at line 6381 of file SemaOpenMP.cpp.
References ActOnOpenMPCanonicalLoop(), clang::cast(), clang::isa(), and clang::isOpenMPLoopTransformationDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPLoopRangeClause | ( | Expr * | First, |
| Expr * | Count, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | FirstLoc, | ||
| SourceLocation | CountLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-form 'looprange' clause after parsing its arguments.
Definition at line 19549 of file SemaOpenMP.cpp.
References clang::First, clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPLoopRangeClause().
| OMPClause * SemaOpenMP::ActOnOpenMPMapClause | ( | Expr * | IteratorModifier, |
| ArrayRef< OpenMPMapModifierKind > | MapTypeModifiers, | ||
| ArrayRef< SourceLocation > | MapTypeModifiersLoc, | ||
| CXXScopeSpec & | MapperIdScopeSpec, | ||
| DeclarationNameInfo & | MapperId, | ||
| OpenMPMapClauseKind | MapType, | ||
| bool | IsMapTypeImplicit, | ||
| SourceLocation | MapLoc, | ||
| SourceLocation | ColonLoc, | ||
| ArrayRef< Expr * > | VarList, | ||
| const OMPVarListLocTy & | Locs, | ||
| bool | NoDiagnose = false, | ||
| ArrayRef< Expr * > | UnresolvedMappers = {} ) |
Called on well-formed 'map' clause.
Definition at line 25396 of file SemaOpenMP.cpp.
References checkMappableExpressionList(), OMPMapClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::Expr::getType(), clang::CXXScopeSpec::getWithLocInContext(), hasConstQualifiedMappingType(), clang::Type::isSpecificBuiltinType(), clang::NumberOfOMPMapClauseModifiers, clang::OMPC_MAP_MODIFIER_unknown, clang::SemaBase::SemaRef, and clang::OMPVarListLocTy::StartLoc.
Referenced by ActOnOpenMPExecutableDirective(), ActOnOpenMPVarListClause(), buildImplicitMap(), processImplicitMapsWithDefaultMappers(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPMapClause().
| StmtResult SemaOpenMP::ActOnOpenMPMaskedDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp masked' after parsing of the.
Definition at line 11936 of file SemaOpenMP.cpp.
References OMPMaskedDirective::Create(), clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPMaskedTaskLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp masked taskloop' after parsing of the associated statement.
Definition at line 14564 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), OMPMaskedTaskLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPMaskedTaskLoopSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp masked taskloop simd' after parsing of the associated statement.
Definition at line 14643 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), checkSimdlenSafelenSpecified(), OMPMaskedTaskLoopSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPMasterDirective | ( | Stmt * | AStmt, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp master' after parsing of the associated statement.
Definition at line 11925 of file SemaOpenMP.cpp.
References OMPMasterDirective::Create(), clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPMasterTaskLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp master taskloop' after parsing of the associated statement.
Definition at line 14526 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), OMPMasterTaskLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPMasterTaskLoopSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp master taskloop simd' after parsing of the associated statement.
Definition at line 14602 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), checkSimdlenSafelenSpecified(), OMPMasterTaskLoopSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPMergeableClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'mergeable' clause.
Definition at line 20058 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPMessageClause | ( | Expr * | MS, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'message' clause.
passing string for message.
Definition at line 19286 of file SemaOpenMP.cpp.
References buildPreInits(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), getOpenMPClauseNameForDiag(), clang::Type::getPointeeOrArrayElementType(), clang::Expr::getType(), clang::Type::isAnyCharacterType(), clang::Type::isArrayType(), clang::Type::isPointerType(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPMessageClause().
| StmtResult clang::SemaOpenMP::ActOnOpenMPMetaDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp metadirective' after parsing of the associated statement.
| OMPClause * SemaOpenMP::ActOnOpenMPNocontextClause | ( | Expr * | Condition, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'nocontext' clause.
Definition at line 20393 of file SemaOpenMP.cpp.
References buildPreInits(), clang::Condition, DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNocontextClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNogroupClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'nogroup' clause.
Definition at line 20147 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNontemporalClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'nontemporal' clause.
Definition at line 27276 of file SemaOpenMP.cpp.
References OMPNontemporalClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), getOpenMPClauseNameForDiag(), getPrivateItem(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNontemporalClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNovariantsClause | ( | Expr * | Condition, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'novariants' clause.
Definition at line 20361 of file SemaOpenMP.cpp.
References buildPreInits(), clang::Condition, DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNovariantsClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNowaitClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc, | ||
| SourceLocation | LParenLoc, | ||
| Expr * | Condition ) |
Called on well-formed 'nowait' clause.
Definition at line 20031 of file SemaOpenMP.cpp.
References clang::Condition, DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::SourceLocation::isValid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPClause(), ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNowaitClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNullaryAssumptionClause | ( | OpenMPClauseKind | CK, |
| SourceLocation | Loc, | ||
| SourceLocation | RLoc ) |
Definition at line 27762 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
| OMPClause * SemaOpenMP::ActOnOpenMPNumTasksClause | ( | OpenMPNumTasksClauseModifier | Modifier, |
| Expr * | NumTasks, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ModifierLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'num_tasks' clause.
Definition at line 26138 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), clang::SourceLocation::isInvalid(), isNonNegativeIntegerValue(), clang::SourceLocation::isValid(), clang::OMPC_NUMTASKS_unknown, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNumTasksClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNumTeamsClause | ( | ArrayRef< Expr * > | VarList, |
| OpenMPNumTeamsClauseModifier | Modifier, | ||
| Expr * | ModifierExpr, | ||
| SourceLocation | ModifierLoc, | ||
| OpenMPNumTeamsClauseModifier | ModifierExtra, | ||
| Expr * | ModifierExtraExpr, | ||
| SourceLocation | ModifierExtraLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'num_teams' clause.
Definition at line 25926 of file SemaOpenMP.cpp.
References ActOnOpenMPDimsModifier(), buildPreInits(), OMPNumTeamsClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::Expr::EvaluateKnownConstInt(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::getOpenMPSimpleClauseTypeName(), clang::Stmt::getSourceRange(), clang::Expr::isIntegerConstantExpr(), clang::ActionResult< PtrTy, Compress >::isInvalid(), isNonNegativeIntegerValue(), clang::Expr::isValueDependent(), clang::OMPC_NUMTEAMS_unknown, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNumTeamsClause().
| OMPClause * SemaOpenMP::ActOnOpenMPNumThreadsClause | ( | ArrayRef< Expr * > | VarList, |
| OpenMPNumThreadsClauseModifier | SimpleModifier, | ||
| SourceLocation | SimpleModifierLoc, | ||
| OpenMPNumThreadsClauseModifier | ComplexModifier, | ||
| Expr * | ComplexModifierExpr, | ||
| SourceLocation | ComplexModifierLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'num_threads' clause.
Definition at line 18547 of file SemaOpenMP.cpp.
References ActOnOpenMPDimsModifier(), buildPreInits(), clang::OMPNumThreadsClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::getOpenMPSimpleClauseTypeName(), clang::ActionResult< PtrTy, Compress >::isInvalid(), isNonNegativeIntegerValue(), clang::SourceLocation::isValid(), clang::SemaBase::SemaRef, and validateMultidimClauseExprs().
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPNumThreadsClause().
| OMPClause * SemaOpenMP::ActOnOpenMPOrderClause | ( | OpenMPOrderClauseModifier | Modifier, |
| OpenMPOrderClauseKind | Kind, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | MLoc, | ||
| SourceLocation | KindLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'order' clause.
Definition at line 19324 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), clang::SourceLocation::isValid(), clang::OMPC_ORDER_MODIFIER_last, clang::OMPC_ORDER_MODIFIER_unknown, clang::OMPC_ORDER_unknown, and clang::Scope::OpenMPOrderClauseScope.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPOrderClause().
| OMPClause * SemaOpenMP::ActOnOpenMPOrderedClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc, | ||
| SourceLocation | LParenLoc = SourceLocation(), | ||
| Expr * | NumForLoops = nullptr ) |
Called on well-formed 'ordered' clause.
Definition at line 18851 of file SemaOpenMP.cpp.
References DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::SourceLocation::isValid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPClause(), ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPOrderedClause().
| StmtResult SemaOpenMP::ActOnOpenMPOrderedDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp ordered' after parsing of the associated statement.
Definition at line 12323 of file SemaOpenMP.cpp.
References clang::C, clang::cast(), OMPOrderedBlockAssocDirective::Create(), OMPOrderedStandaloneDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::OMPClause::getBeginLoc(), clang::SemaBase::getLangOpts(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), clang::isa(), clang::isOpenMPSimdDirective(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp parallel' after parsing of the associated statement.
Definition at line 8389 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelForDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel for' after parsing of the associated statement.
Definition at line 12006 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), OMPParallelForDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelForSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel for simd' after parsing of the associated statement.
Definition at line 12032 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPParallelForSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelGenericLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel loop' after parsing of the associated statement.
Definition at line 11819 of file SemaOpenMP.cpp.
References checkGenericLoopLastprivate(), checkOpenMPLoop(), OMPParallelGenericLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelMaskedDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp parallel masked' after parsing of the associated statement.
Definition at line 12074 of file SemaOpenMP.cpp.
References OMPParallelMaskedDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelMaskedTaskLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel masked taskloop' after parsing of the associated statement.
Definition at line 14723 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), OMPParallelMaskedTaskLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelMaskedTaskLoopSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel masked taskloop simd' after parsing of the associated statement.
Definition at line 14802 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), checkSimdlenSafelenSpecified(), OMPParallelMaskedTaskLoopSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelMasterDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp parallel master' after parsing of the associated statement.
Definition at line 12061 of file SemaOpenMP.cpp.
References OMPParallelMasterDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelMasterTaskLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel master taskloop' after parsing of the associated statement.
Definition at line 14684 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), OMPParallelMasterTaskLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelMasterTaskLoopSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp parallel master taskloop simd' after parsing of the associated statement.
Definition at line 14762 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), checkSimdlenSafelenSpecified(), OMPParallelMasterTaskLoopSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPParallelSectionsDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp parallel sections' after parsing of the associated statement.
Definition at line 12087 of file SemaOpenMP.cpp.
References checkSectionsDirective(), OMPParallelSectionsDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPPartialClause | ( | Expr * | FactorExpr, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-form 'partial' clauses.
Definition at line 19515 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPClause(), ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPPartialClause().
| OMPClause * SemaOpenMP::ActOnOpenMPPermutationClause | ( | ArrayRef< Expr * > | PermExprs, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-form 'permutation' clause after parsing its arguments.
Definition at line 19472 of file SemaOpenMP.cpp.
References clang::Allow, clang::OMPPermutationClause::Create(), clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getEndLoc(), clang::Expr::getExprLoc(), clang::ActionResult< PtrTy, Compress >::isUsable(), and clang::SemaBase::SemaRef.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPPermutationClause().
| OMPClause * SemaOpenMP::ActOnOpenMPPriorityClause | ( | Expr * | Priority, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'priority' clause.
Definition at line 26084 of file SemaOpenMP.cpp.
References DSAStack, clang::SemaBase::getASTContext(), isNonNegativeIntegerValue(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPPriorityClause().
| OMPClause * SemaOpenMP::ActOnOpenMPPrivateClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'private' clause.
Definition at line 20720 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), buildVarDecl(), clang::cast(), clang::VarDecl::DeclarationOnly, clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::NamedDecl::getName(), clang::QualType::getNonReferenceType(), getOpenMPClauseNameForDiag(), clang::LangOptions::getOpenMPVersion(), getPrivateItem(), clang::ValueDecl::getType(), clang::QualType::getUnqualifiedType(), clang::Decl::hasAttrs(), clang::isa(), clang::Type::isAnyPointerType(), clang::SourceLocation::isInvalid(), clang::Decl::isInvalidDecl(), clang::isOpenMPTargetExecutionDirective(), clang::isOpenMPTaskingDirective(), clang::Type::isVariablyModifiedType(), rejectConstNotMutableType(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPExecutableDirective(), ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPPrivateClause().
| OMPClause * SemaOpenMP::ActOnOpenMPProcBindClause | ( | llvm::omp::ProcBindKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'proc_bind' clause.
Definition at line 19211 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), and getOpenMPClauseNameForDiag().
Referenced by ActOnOpenMPSimpleClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPProcBindClause().
| OMPClause * SemaOpenMP::ActOnOpenMPReadClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'read' clause.
Definition at line 20063 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPReductionClause | ( | ArrayRef< Expr * > | VarList, |
| OpenMPVarListDataTy::OpenMPReductionClauseModifiers | Modifiers, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ModifierLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | EndLoc, | ||
| CXXScopeSpec & | ReductionIdScopeSpec, | ||
| const DeclarationNameInfo & | ReductionId, | ||
| ArrayRef< Expr * > | UnresolvedReductions = {} ) |
Called on well-formed 'reduction' clause.
Definition at line 22693 of file SemaOpenMP.cpp.
References actOnOMPReductionKindClause(), buildPostUpdate(), buildPreInits(), clang::SemaBase::Diag(), DSAStack, clang::SemaOpenMP::OpenMPVarListDataTy::OpenMPReductionClauseModifiers::ExtraModifier, clang::SemaBase::getASTContext(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), clang::CXXScopeSpec::getWithLocInContext(), clang::SourceLocation::isValid(), clang::OMPC_REDUCTION_unknown, clang::SemaOpenMP::OpenMPVarListDataTy::OpenMPReductionClauseModifiers::OriginalSharingModifier, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPReductionClause().
| StmtResult SemaOpenMP::ActOnOpenMPRegionEnd | ( | StmtResult | S, |
| ArrayRef< OMPClause * > | Clauses ) |
End of OpenMP region.
| S | Statement associated with the current OpenMP region. |
| Clauses | List of clauses for the current OpenMP region. |
Definition at line 5173 of file SemaOpenMP.cpp.
References OMPUsesAllocatorsClause::Data::AllocatorTraits, clang::C, clang::cast(), checkOrderedOrderSpecified(), clang::Stmt::children(), Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::OMPClauseWithPostUpdate::get(), clang::OMPClauseWithPreInit::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::getOpenMPCaptureRegions(), getOpenMPClauseNameForDiag(), clang::getOpenMPSimpleClauseTypeName(), handleDeclareVariantConstructTrait(), clang::isOpenMPCapturingDirective(), clang::isOpenMPPrivate(), clang::isOpenMPSimdDirective(), clang::isOpenMPTaskingDirective(), clang::isOpenMPWorksharingDirective(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SemaBase::SemaRef, and clang::StmtError().
| void SemaOpenMP::ActOnOpenMPRegionStart | ( | OpenMPDirectiveKind | DKind, |
| Scope * | CurScope ) |
Initialization of captured region for OpenMP region.
Definition at line 4958 of file SemaOpenMP.cpp.
References DSAStack, handleDeclareVariantConstructTrait(), processCapturedRegions(), and clang::SemaBase::SemaRef.
| OMPClause * SemaOpenMP::ActOnOpenMPRelaxedClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'relaxed' clause.
Definition at line 20127 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPReleaseClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'release' clause.
Definition at line 20122 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPRequiresDirective | ( | SourceLocation | Loc, |
| ArrayRef< OMPClause * > | ClauseList ) |
Called on well-formed '#pragma omp requires'.
Definition at line 3740 of file SemaOpenMP.cpp.
References CheckOMPRequiresDecl(), Diag(), DSAStack, clang::OpaquePtr< DeclGroupRef >::make(), and clang::SemaBase::SemaRef.
| StmtResult SemaOpenMP::ActOnOpenMPReverseDirective | ( | Stmt * | AStmt, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp reverse'.
Definition at line 16657 of file SemaOpenMP.cpp.
References addLoopPreInits(), clang::AssertSuccess(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::cast(), collectLoopStmts(), clang::CompoundStmt::Create(), clang::IntegerLiteral::Create(), OMPReverseDirective::Create(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getEndLoc(), clang::ValueDecl::getType(), clang::Init, clang::isa(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SemaBase::SemaRef, clang::StmtError(), and clang::Zero.
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPReverseOffloadClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'reverse_offload' clause.
Definition at line 20163 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSafelenClause | ( | Expr * | Length, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'safelen' clause.
Definition at line 18724 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPSafelenClause().
| StmtResult SemaOpenMP::ActOnOpenMPScanDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp scan'.
Definition at line 12290 of file SemaOpenMP.cpp.
References OMPScanDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Scope::getBreakParent(), clang::SemaBase::getLangOpts(), clang::LangOptions::getOpenMPVersion(), clang::Scope::getParent(), clang::Scope::isOpenMPLoopScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPScheduleClause | ( | OpenMPScheduleClauseModifier | M1, |
| OpenMPScheduleClauseModifier | M2, | ||
| OpenMPScheduleClauseKind | Kind, | ||
| Expr * | ChunkSize, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | M1Loc, | ||
| SourceLocation | M2Loc, | ||
| SourceLocation | KindLoc, | ||
| SourceLocation | CommaLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'schedule' clause.
Definition at line 19778 of file SemaOpenMP.cpp.
References buildPreInits(), checkScheduleModifiers(), clang::Expr::containsUnexpandedParameterPack(), clang::SemaBase::Diag(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Expr::getIntegerConstantExpr(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPCaptureRegionForClause(), getOpenMPClauseNameForDiag(), clang::getOpenMPSimpleClauseTypeName(), clang::Stmt::getSourceRange(), clang::Expr::isInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::SourceLocation::isInvalid(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), clang::OMPC_SCHEDULE_MODIFIER_last, clang::OMPC_SCHEDULE_MODIFIER_unknown, clang::OMPC_SCHEDULE_unknown, PerformOpenMPImplicitIntegerConversion(), clang::Result, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprWithArgClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPScheduleClause().
| StmtResult SemaOpenMP::ActOnOpenMPScopeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp scope' after parsing of the associated statement.
Definition at line 27315 of file SemaOpenMP.cpp.
References OMPScopeDirective::Create(), clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPSectionDirective | ( | Stmt * | AStmt, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp section' after parsing of the associated statement.
Definition at line 11516 of file SemaOpenMP.cpp.
References OMPSectionDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPSectionsDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp sections' after parsing of the associated statement.
Definition at line 11503 of file SemaOpenMP.cpp.
References checkSectionsDirective(), OMPSectionsDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPSelfMapsClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'self_maps' clause.
Definition at line 20174 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSeqCstClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'seq_cst' clause.
Definition at line 20107 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSeverityClause | ( | OpenMPSeverityClauseKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'severity' clause.
Definition at line 19270 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), and clang::OMPC_SEVERITY_unknown.
Referenced by ActOnOpenMPSimpleClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPSeverityClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSharedClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'shared' clause.
Definition at line 21396 of file SemaOpenMP.cpp.
References buildCapture(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), getOpenMPClauseNameForDiag(), getPrivateItem(), isOpenMPCapturedDecl(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPSharedClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSIMDClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'simd' clause.
Definition at line 20142 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| StmtResult SemaOpenMP::ActOnOpenMPSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp simd' after parsing of the associated statement.
Definition at line 11384 of file SemaOpenMP.cpp.
References checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPSimdlenClause | ( | Expr * | Length, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'simdlen' clause.
Definition at line 18738 of file SemaOpenMP.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::ActionResult< PtrTy, Compress >::isInvalid(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPSimdlenClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSimpleClause | ( | OpenMPClauseKind | Kind, |
| unsigned | Argument, | ||
| SourceLocation | ArgumentLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 18877 of file SemaOpenMP.cpp.
References ActOnOpenMPAtClause(), ActOnOpenMPAtomicDefaultMemOrderClause(), ActOnOpenMPBindClause(), ActOnOpenMPFailClause(), ActOnOpenMPProcBindClause(), ActOnOpenMPSeverityClause(), ActOnOpenMPThreadsetClause(), and ActOnOpenMPUpdateDependObjectsClause().
| StmtResult SemaOpenMP::ActOnOpenMPSingleDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp single' after parsing of the associated statement.
Definition at line 11893 of file SemaOpenMP.cpp.
References OMPSingleDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::OMPClause::getBeginLoc(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPSingleExprClause | ( | OpenMPClauseKind | Kind, |
| Expr * | Expr, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 18104 of file SemaOpenMP.cpp.
References ActOnOpenMPAlignClause(), ActOnOpenMPAllocatorClause(), ActOnOpenMPCollapseClause(), ActOnOpenMPDepobjClause(), ActOnOpenMPDepthClause(), ActOnOpenMPDetachClause(), ActOnOpenMPFilterClause(), ActOnOpenMPFinalClause(), ActOnOpenMPHintClause(), ActOnOpenMPHoldsClause(), ActOnOpenMPMessageClause(), ActOnOpenMPNocontextClause(), ActOnOpenMPNovariantsClause(), ActOnOpenMPNowaitClause(), ActOnOpenMPOrderedClause(), ActOnOpenMPPartialClause(), ActOnOpenMPPriorityClause(), ActOnOpenMPSafelenClause(), ActOnOpenMPSimdlenClause(), ActOnOpenMPTransparentClause(), and ActOnOpenMPXDynCGroupMemClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSingleExprWithArgClause | ( | OpenMPClauseKind | Kind, |
| ArrayRef< unsigned > | Arguments, | ||
| Expr * | Expr, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| ArrayRef< SourceLocation > | ArgumentsLoc, | ||
| SourceLocation | DelimLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 19585 of file SemaOpenMP.cpp.
References ActOnOpenMPDefaultClause(), ActOnOpenMPDefaultmapClause(), ActOnOpenMPDeviceClause(), ActOnOpenMPDistScheduleClause(), ActOnOpenMPDynGroupprivateClause(), ActOnOpenMPGrainsizeClause(), ActOnOpenMPIfClause(), ActOnOpenMPNumTasksClause(), ActOnOpenMPOrderClause(), and ActOnOpenMPScheduleClause().
| OMPClause * SemaOpenMP::ActOnOpenMPSizesClause | ( | ArrayRef< Expr * > | SizeExprs, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-form 'sizes' clause.
Definition at line 19382 of file SemaOpenMP.cpp.
References clang::OMPSizesClause::Create(), clang::SemaBase::getASTContext(), clang::Type::isIntegerType(), isNonNegativeIntegerValue(), and clang::SemaBase::SemaRef.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPSizesClause().
| StmtResult SemaOpenMP::ActOnOpenMPSplitDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp split' after parsing of its associated statement.
Build the AST for #pragma omp split counts(c1, c2, ...).
Splits the single associated loop into N consecutive loops, where N is the number of count expressions.
Definition at line 16848 of file SemaOpenMP.cpp.
References addLoopPreInits(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::cast(), collectLoopStmts(), clang::CompoundStmt::Create(), clang::IntegerLiteral::Create(), OMPSplitDirective::Create(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::getEndLoc(), clang::VarDecl::getInit(), clang::Expr::getIntegerConstantExpr(), clang::QualType::getNonReferenceType(), clang::ValueDecl::getType(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPStripeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Definition at line 16115 of file SemaOpenMP.cpp.
References addLoopPreInits(), appendStmtsBeforeNestedLoop(), clang::AssertSuccess(), buildPreInits(), buildVarDecl(), clang::cast(), collectLoopStmts(), clang::CompoundStmt::Create(), clang::DeclGroupRef::Create(), clang::IntegerLiteral::Create(), OMPStripeDirective::Create(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::DeclRefExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::DeclRefExpr::getDecl(), clang::DeclRefExpr::getEndLoc(), clang::Stmt::getEndLoc(), clang::Expr::getType(), clang::isa(), clang::ActionResult< PtrTy, Compress >::isUsable(), makeFloorIVRef(), clang::OK_Ordinary, clang::SemaBase::SemaRef, clang::StmtError(), clang::VK_PRValue, and clang::Zero.
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetDataDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp target data' after parsing of the associated statement.
Definition at line 14268 of file SemaOpenMP.cpp.
References OMPTargetDataDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::LangOptions::getOpenMPVersion(), hasClauses(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp target' after parsing of the associated statement.
Definition at line 14111 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Stmt::IgnoreContainers(), clang::isa(), clang::isOpenMPTeamsDirective(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetEnterDataDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| Stmt * | AStmt ) |
Called on well-formed '#pragma omp target enter data' after parsing of the associated statement.
Definition at line 14299 of file SemaOpenMP.cpp.
References OMPTargetEnterDataDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::LangOptions::getOpenMPVersion(), hasClauses(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetExitDataDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| Stmt * | AStmt ) |
Called on well-formed '#pragma omp target exit data' after parsing of the associated statement.
Definition at line 14321 of file SemaOpenMP.cpp.
References OMPTargetExitDataDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::LangOptions::getOpenMPVersion(), hasClauses(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetParallelDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp target parallel' after parsing of the associated statement.
Definition at line 14173 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetParallelDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetParallelForDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target parallel for' after parsing of the associated statement.
Definition at line 14197 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetParallelForDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetParallelForSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target parallel for simd' after parsing of the associated statement.
Definition at line 14953 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), checkSimdlenSafelenSpecified(), OMPTargetParallelForSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetParallelGenericLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target parallel loop' after parsing of the associated statement.
Definition at line 11851 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkGenericLoopLastprivate(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetParallelGenericLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target simd' after parsing of the associated statement.
Definition at line 14992 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), checkSimdlenSafelenSpecified(), OMPTargetSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), getOrderedNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetTeamsDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp target teams' after parsing of the associated statement.
Definition at line 15176 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetTeamsDirective::Create(), clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetTeamsDistributeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target teams distribute' after parsing of the associated statement.
Definition at line 15198 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetTeamsDistributeDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetTeamsDistributeParallelForDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target teams distribute parallel for' after parsing of the associated statement.
Definition at line 15234 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetTeamsDistributeParallelForDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target teams distribute parallel for simd' after parsing of the associated statement.
Definition at line 15271 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), checkSimdlenSafelenSpecified(), OMPTargetTeamsDistributeParallelForSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target teams distribute simd' after parsing of the associated statement.
Definition at line 15311 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), checkSimdlenSafelenSpecified(), OMPTargetTeamsDistributeSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetTeamsGenericLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp target teams loop' after parsing of the associated statement.
Definition at line 11776 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkGenericLoopLastprivate(), checkOpenMPLoop(), checkOriginalVarMappedButOnlyBindingsUsed(), OMPTargetTeamsGenericLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), teamsLoopCanBeParallelFor(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTargetUpdateDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| Stmt * | AStmt ) |
Called on well-formed '#pragma omp target update'.
Definition at line 14342 of file SemaOpenMP.cpp.
References OMPTargetUpdateDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), hasClauses(), isClauseMappable(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTaskDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp task' after parsing of the associated statement.
Definition at line 12123 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkMutuallyExclusiveClauses(), OMPTaskDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTaskgroupDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp taskgroup'.
Definition at line 12212 of file SemaOpenMP.cpp.
References OMPTaskgroupDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTaskLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp taskloop' after parsing of the associated statement.
Definition at line 14447 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), OMPTaskLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTaskLoopSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp taskloop simd' after parsing of the associated statement.
Definition at line 14485 of file SemaOpenMP.cpp.
References checkMutuallyExclusiveClauses(), checkOpenMPLoop(), checkReductionClauseWithNogroup(), checkSimdlenSafelenSpecified(), OMPTaskLoopSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::isa(), clang::SemaBase::SemaRef, setBranchProtectedScope(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPTaskReductionClause | ( | ArrayRef< Expr * > | VarList, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | ColonLoc, | ||
| SourceLocation | EndLoc, | ||
| CXXScopeSpec & | ReductionIdScopeSpec, | ||
| const DeclarationNameInfo & | ReductionId, | ||
| ArrayRef< Expr * > | UnresolvedReductions = {} ) |
Called on well-formed 'task_reduction' clause.
Definition at line 22744 of file SemaOpenMP.cpp.
References actOnOMPReductionKindClause(), buildPostUpdate(), buildPreInits(), DSAStack, clang::SemaBase::getASTContext(), clang::CXXScopeSpec::getWithLocInContext(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPTaskReductionClause().
| StmtResult SemaOpenMP::ActOnOpenMPTaskwaitDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp taskwait'.
Definition at line 12194 of file SemaOpenMP.cpp.
References OMPTaskwaitDirective::Create(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), and clang::StmtError().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTaskyieldDirective | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp taskyield'.
Definition at line 12147 of file SemaOpenMP.cpp.
References OMPTaskyieldDirective::Create(), and clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTeamsDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp teams' after parsing of the associated statement.
Definition at line 14364 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), OMPTeamsDirective::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::HIP, clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTeamsDistributeDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp teams distribute' after parsing of the associated statement.
Definition at line 15029 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), OMPTeamsDistributeDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTeamsDistributeParallelForDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp teams distribute parallel for' after parsing of the associated statement.
Definition at line 15139 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), OMPTeamsDistributeParallelForDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTeamsDistributeParallelForSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp teams distribute parallel for simd' after parsing of the associated statement.
Definition at line 15101 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPTeamsDistributeParallelForSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTeamsDistributeSimdDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp teams distribute simd' after parsing of the associated statement.
Definition at line 15064 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkOpenMPLoop(), checkSimdlenSafelenSpecified(), OMPTeamsDistributeSimdDirective::Create(), DSAStack, finishLinearClauses(), clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| StmtResult SemaOpenMP::ActOnOpenMPTeamsGenericLoopDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc, | ||
| VarsWithInheritedDSAType & | VarsWithImplicitDSA ) |
Called on well-formed '#pragma omp teams loop' after parsing of the associated statement.
Definition at line 11738 of file SemaOpenMP.cpp.
References checkClausesForDecompositionConflicts(), checkGenericLoopLastprivate(), checkOpenMPLoop(), OMPTeamsGenericLoopDirective::Create(), DSAStack, clang::SemaBase::getASTContext(), getCollapseNumberExpr(), clang::SemaBase::SemaRef, setBranchProtectedScope(), clang::StmtError(), and validateMultidimClauses().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPThreadLimitClause | ( | ArrayRef< Expr * > | VarList, |
| OpenMPThreadLimitClauseModifier | Modifier, | ||
| Expr * | ModifierExpr, | ||
| SourceLocation | ModifierLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'thread_limit' clause.
Definition at line 26032 of file SemaOpenMP.cpp.
References ActOnOpenMPDimsModifier(), buildPreInits(), OMPThreadLimitClause::Create(), DSAStack, clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), clang::ActionResult< PtrTy, Compress >::isInvalid(), isNonNegativeIntegerValue(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPThreadLimitClause().
| SemaOpenMP::DeclGroupPtrTy SemaOpenMP::ActOnOpenMPThreadprivateDirective | ( | SourceLocation | Loc, |
| ArrayRef< Expr * > | VarList ) |
Called on well-formed '#pragma omp threadprivate'.
Definition at line 3355 of file SemaOpenMP.cpp.
References CheckOMPThreadPrivateDecl(), clang::OpaquePtr< DeclGroupRef >::make(), and clang::SemaBase::SemaRef.
| OMPClause * SemaOpenMP::ActOnOpenMPThreadsClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'threads' clause.
Definition at line 20137 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPThreadsetClause | ( | OpenMPThreadsetKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'threadset' clause.
Definition at line 19114 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), getListOfPossibleValues(), and clang::OMPC_THREADSET_unknown.
Referenced by ActOnOpenMPSimpleClause().
| StmtResult SemaOpenMP::ActOnOpenMPTileDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp tile' after parsing of its clauses and the associated statement.
Definition at line 15758 of file SemaOpenMP.cpp.
References addLoopPreInits(), appendStmtsBeforeNestedLoop(), clang::AssertSuccess(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::cast(), collectLoopStmts(), clang::Expr::containsErrors(), clang::Converting, clang::AttributedStmt::Create(), clang::CompoundStmt::Create(), clang::DeclGroupRef::Create(), clang::IntegerLiteral::Create(), OMPTileDirective::Create(), clang::Expr::EvaluateAsInt(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::DeclRefExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::DeclRefExpr::getDecl(), clang::DeclRefExpr::getEndLoc(), clang::Stmt::getEndLoc(), clang::APValue::getInt(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::isa(), clang::ActionResult< PtrTy, Compress >::isUsable(), makeFloorIVRef(), clang::OK_Ordinary, clang::SemaBase::SemaRef, clang::StmtError(), clang::Expr::EvalResult::Val, clang::VK_PRValue, and clang::Zero.
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPToClause | ( | ArrayRef< OpenMPMotionModifierKind > | MotionModifiers, |
| ArrayRef< SourceLocation > | MotionModifiersLoc, | ||
| Expr * | IteratorModifier, | ||
| CXXScopeSpec & | MapperIdScopeSpec, | ||
| DeclarationNameInfo & | MapperId, | ||
| SourceLocation | ColonLoc, | ||
| ArrayRef< Expr * > | VarList, | ||
| const OMPVarListLocTy & | Locs, | ||
| ArrayRef< Expr * > | UnresolvedMappers = {} ) |
Called on well-formed 'to' clause.
Definition at line 26734 of file SemaOpenMP.cpp.
References checkMappableExpressionList(), OMPToClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::DeclRefExpr::getDecl(), clang::CXXScopeSpec::getWithLocInContext(), clang::NumberOfOMPMotionModifiers, clang::OMPC_MOTION_MODIFIER_unknown, clang::SemaBase::SemaRef, and clang::OMPVarListLocTy::StartLoc.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPToClause().
| OMPClause * SemaOpenMP::ActOnOpenMPTransparentClause | ( | Expr * | Transparent, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'transparent' clause.
Definition at line 19144 of file SemaOpenMP.cpp.
References buildPreInits(), createTransparentClause(), DSAStack, clang::OpaquePtr< PtrTy >::get(), clang::Type::getAs(), clang::OpaquePtr< PtrTy >::getAsOpaquePtr(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::NamedDecl::getName(), getOpenMPCaptureRegionForClause(), clang::Expr::getType(), clang::Type::isEnumeralType(), clang::Type::isIntegerType(), isNonNegativeIntegerValue(), clang::QualType::isNull(), OMP_Export, clang::Result, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), clang::TreeTransform< AdjustConstraints >::RebuildOMPTransparentClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOpenMPTransparentClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUnifiedAddressClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'unified_address' clause.
Definition at line 20152 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUnifiedSharedMemoryClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'unified_address' clause.
Definition at line 20158 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| StmtResult SemaOpenMP::ActOnOpenMPUnrollDirective | ( | ArrayRef< OMPClause * > | Clauses, |
| Stmt * | AStmt, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed '#pragma omp unroll' after parsing of its clauses and the associated statement.
Definition at line 16376 of file SemaOpenMP.cpp.
References addLoopPreInits(), clang::AssertSuccess(), buildDeclRefExpr(), buildPreInits(), buildVarDecl(), clang::cast(), checkMutuallyExclusiveClauses(), collectLoopStmts(), clang::Expr::containsErrors(), clang::AttributedStmt::Create(), clang::CompoundStmt::Create(), clang::IntegerLiteral::Create(), OMPUnrollDirective::Create(), clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getASTContext(), clang::AttributedStmt::getBeginLoc(), clang::CompoundStmt::getBeginLoc(), clang::OMPClause::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::Stmt::getEndLoc(), clang::OMPPartialClause::getFactor(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::SemaBase::SemaRef, clang::StmtError(), and VerifyPositiveIntegerConstantInClause().
Referenced by ActOnOpenMPExecutableDirective().
| OMPClause * SemaOpenMP::ActOnOpenMPUntiedClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'untied' clause.
Definition at line 20052 of file SemaOpenMP.cpp.
References DSAStack, and clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUpdateClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'update' clause.
Definition at line 20073 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUpdateDependObjectsClause | ( | OpenMPDependClauseKind | Kind, |
| SourceLocation | KindLoc, | ||
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'update_depend_objects' clause.
Definition at line 19362 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getListOfPossibleValues(), getOpenMPClauseNameForDiag(), and clang::OMPC_DEPEND_unknown.
Referenced by ActOnOpenMPSimpleClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUseClause | ( | Expr * | InteropVar, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | VarLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'use' clause.
Definition at line 20327 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext(), isValidInteropVariable(), and clang::SemaBase::SemaRef.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPUseClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUseDeviceAddrClause | ( | ArrayRef< Expr * > | VarList, |
| const OMPVarListLocTy & | Locs ) |
Called on well-formed 'use_device_addr' clause.
Definition at line 26907 of file SemaOpenMP.cpp.
References buildCapture(), checkMapClauseExpressionBase(), OMPUseDeviceAddrClause::Create(), DSAStack, OMPClauseMappableExprCommon::findAttachPtrExpr(), clang::SemaBase::getASTContext(), clang::MemberExpr::getBase(), getPrivateItem(), clang::Stmt::getSourceRange(), clang::Expr::IgnoreParenImpCasts(), clang::isa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPUseDeviceAddrClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUseDevicePtrClause | ( | ArrayRef< Expr * > | VarList, |
| const OMPVarListLocTy & | Locs, | ||
| OpenMPUseDevicePtrFallbackModifier | FallbackModifier, | ||
| SourceLocation | FallbackModifierLoc ) |
Called on well-formed 'use_device_ptr' clause.
Definition at line 26818 of file SemaOpenMP.cpp.
References buildCapture(), buildDeclRefExpr(), buildVarDecl(), clang::cast(), OMPUseDevicePtrClause::Create(), clang::SemaBase::Diag(), DSAStack, clang::SemaBase::getASTContext(), clang::Decl::getAttrs(), clang::NamedDecl::getName(), getPrivateItem(), clang::ValueDecl::getType(), clang::Decl::hasAttrs(), clang::Inits, clang::Type::isPointerType(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPVarListClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPUseDevicePtrClause().
| OMPClause * SemaOpenMP::ActOnOpenMPUsesAllocatorClause | ( | SourceLocation | StartLoc, |
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc, | ||
| ArrayRef< UsesAllocatorsData > | Data ) |
Called on well-formed 'uses_allocators' clause.
Definition at line 27428 of file SemaOpenMP.cpp.
References clang::SemaOpenMP::UsesAllocatorsData::Allocator, OMPUsesAllocatorsClause::Data::Allocator, clang::SemaOpenMP::UsesAllocatorsData::AllocatorTraits, OMPUsesAllocatorsClause::Data::AllocatorTraits, clang::cast(), OMPUsesAllocatorsClause::Create(), clang::Data, clang::SemaBase::Diag(), DSAStack, findOMPAllocatorHandleT(), findOMPAlloctraitT(), getAllocatorKind(), clang::Type::getAsArrayTypeUnsafe(), clang::SemaBase::getASTContext(), clang::DeclRefExpr::getDecl(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::Expr::IgnoreParenImpCasts(), clang::QualType::isConstant(), clang::Expr::isLValue(), clang::QualType::isNull(), clang::Expr::isTypeDependent(), clang::Sema::LookupAnyName, clang::SemaOpenMP::UsesAllocatorsData::LParenLoc, OMPUsesAllocatorsClause::Data::LParenLoc, clang::SemaOpenMP::UsesAllocatorsData::RParenLoc, OMPUsesAllocatorsClause::Data::RParenLoc, and clang::SemaBase::SemaRef.
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPUsesAllocatorsClause().
| OMPClause * SemaOpenMP::ActOnOpenMPVarListClause | ( | OpenMPClauseKind | Kind, |
| ArrayRef< Expr * > | Vars, | ||
| const OMPVarListLocTy & | Locs, | ||
| OpenMPVarListDataTy & | Data ) |
Definition at line 20447 of file SemaOpenMP.cpp.
References ActOnOpenMPAffinityClause(), ActOnOpenMPAlignedClause(), ActOnOpenMPAllocateClause(), ActOnOpenMPCopyinClause(), ActOnOpenMPCopyprivateClause(), ActOnOpenMPDependClause(), ActOnOpenMPDoacrossClause(), ActOnOpenMPExclusiveClause(), ActOnOpenMPFirstprivateClause(), ActOnOpenMPFlushClause(), ActOnOpenMPFromClause(), ActOnOpenMPHasDeviceAddrClause(), ActOnOpenMPInclusiveClause(), ActOnOpenMPInReductionClause(), ActOnOpenMPIsDevicePtrClause(), ActOnOpenMPLastprivateClause(), ActOnOpenMPLinearClause(), ActOnOpenMPMapClause(), ActOnOpenMPNontemporalClause(), ActOnOpenMPNumTeamsClause(), ActOnOpenMPNumThreadsClause(), ActOnOpenMPPrivateClause(), ActOnOpenMPReductionClause(), ActOnOpenMPSharedClause(), ActOnOpenMPTaskReductionClause(), ActOnOpenMPThreadLimitClause(), ActOnOpenMPToClause(), ActOnOpenMPUseDeviceAddrClause(), ActOnOpenMPUseDevicePtrClause(), clang::Data, clang::OMPVarListLocTy::EndLoc, clang::OMPVarListLocTy::LParenLoc, clang::OMPC_ALLOCATE_unknown, clang::OMPC_DEPEND_unknown, clang::OMPC_LASTPRIVATE_unknown, clang::OMPC_LINEAR_unknown, clang::OMPC_MAP_unknown, clang::OMPC_NUMTEAMS_unknown, clang::OMPC_NUMTHREADS_unknown, clang::OMPC_REDUCTION_unknown, clang::OMPC_THREADLIMIT_unknown, clang::OMPC_USE_DEVICE_PTR_FALLBACK_unknown, and clang::OMPVarListLocTy::StartLoc.
| OMPClause * SemaOpenMP::ActOnOpenMPWeakClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'weak' clause.
Definition at line 20132 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * clang::SemaOpenMP::ActOnOpenMPWhenClause | ( | OMPTraitInfo & | TI, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on well-formed 'when' clause.
References clang::Condition.
| OMPClause * SemaOpenMP::ActOnOpenMPWriteClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on well-formed 'write' clause.
Definition at line 20068 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause().
| OMPClause * SemaOpenMP::ActOnOpenMPXAttributeClause | ( | ArrayRef< const Attr * > | Attrs, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on a well-formed 'ompx_attribute' clause.
Definition at line 27727 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by clang::TreeTransform< AdjustConstraints >::RebuildOMPXAttributeClause().
| OMPClause * SemaOpenMP::ActOnOpenMPXBareClause | ( | SourceLocation | StartLoc, |
| SourceLocation | EndLoc ) |
Called on a well-formed 'ompx_bare' clause.
Definition at line 27735 of file SemaOpenMP.cpp.
References clang::SemaBase::getASTContext().
Referenced by ActOnOpenMPClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPXBareClause().
| OMPClause * SemaOpenMP::ActOnOpenMPXDynCGroupMemClause | ( | Expr * | Size, |
| SourceLocation | StartLoc, | ||
| SourceLocation | LParenLoc, | ||
| SourceLocation | EndLoc ) |
Called on a well-formed 'ompx_dyn_cgroup_mem' clause.
Definition at line 27621 of file SemaOpenMP.cpp.
References buildPreInits(), DSAStack, clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), getOpenMPCaptureRegionForClause(), isNonNegativeIntegerValue(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPSingleExprClause(), and clang::TreeTransform< AdjustConstraints >::RebuildOMPXDynCGroupMemClause().
| void SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope | ( | Scope * | S, |
| Declarator & | D, | ||
| MultiTemplateParamsArg | TemplateParameterLists, | ||
| SmallVectorImpl< FunctionDecl * > & | Bases ) |
The declarator D defines a function in the scope S which is nested in an omp begin/end declare variant scope.
In this method we create a declaration for D and rename D according to the OpenMP context selector of the surrounding scope. Return all base functions in Bases.
Definition at line 7657 of file SemaOpenMP.cpp.
References clang::cast(), clang::Consteval, clang::Constexpr, clang::Declaration, clang::IdentifierTable::get(), clang::SemaBase::getASTContext(), clang::Declarator::getBeginLoc(), clang::DeclSpec::getConstexprSpecifier(), clang::Declarator::getCXXScopeSpec(), clang::Declarator::getDeclSpec(), clang::Declarator::getIdentifier(), clang::Declarator::getIdentifierLoc(), clang::IdentifierInfo::getName(), clang::getOpenMPVariantManglingSeparatorStr(), clang::TypeSourceInfo::getType(), clang::ValueDecl::getType(), clang::ASTContext::Idents, clang::isa(), clang::FunctionDecl::isConsteval(), clang::FunctionDecl::isConstexpr(), clang::Type::isDependentType(), OMPTraitInfo::isExtensionActive(), clang::QualType::isNull(), clang::Sema::LookupOrdinaryName, clang::ASTContext::mergeFunctionTypes(), clang::SemaBase::SemaRef, clang::Declarator::setFunctionDefinitionKind(), clang::Declarator::SetIdentifier(), clang::Decl::setImplicit(), and clang::IdentifierInfo::setMangledOpenMPVariantName().
Referenced by clang::Sema::ActOnDeclarator(), and clang::Sema::ActOnStartOfFunctionDef().
| bool SemaOpenMP::ActOnStartOpenMPDeclareTargetContext | ( | DeclareTargetContextInfo & | DTCI | ) |
Called on the start of target region i.e. '#pragma omp declare target'.
Definition at line 26397 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getLangOpts(), clang::HIP, clang::isa(), clang::DeclContext::isExternCContext(), clang::DeclContext::isExternCXXContext(), clang::DeclContext::isFileContext(), clang::SemaOpenMP::DeclareTargetContextInfo::Loc, and clang::SemaBase::SemaRef.
| void SemaOpenMP::addRequiresDecl | ( | OMPRequiresDecl * | D | ) |
Registers a 'requires' directive deserialized from an AST file.
Definition at line 2087 of file SemaOpenMP.cpp.
References DSAStack.
| void SemaOpenMP::checkDeclIsAllowedInOpenMPTarget | ( | Expr * | E, |
| Decl * | D, | ||
| SourceLocation | IdLoc = SourceLocation() ) |
Check declaration inside target region.
Definition at line 26608 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), checkDeclInTargetContext(), checkValueDeclInTarget(), clang::SemaBase::Diag(), DSAStack, clang::SemaOpenMP::DeclareTargetContextInfo::DT, clang::SemaBase::getASTContext(), clang::Stmt::getBeginLoc(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::Decl::getSourceRange(), clang::Stmt::getSourceRange(), clang::ValueDecl::getType(), clang::SemaOpenMP::DeclareTargetContextInfo::Indirect, clang::isa(), clang::Type::isIncompleteType(), isInOpenMPDeclareTargetContext(), clang::Decl::isInvalidDecl(), clang::SourceLocation::isValid(), clang::SemaOpenMP::DeclareTargetContextInfo::Loc, reportOriginalDsa(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPDeclareTargetName(), clang::Sema::HandleDeclarator(), isOpenMPCapturedDecl(), lookupOpenMPDeclareTargetName(), and MarkExprReferenced().
| OMPGroupPrivateDecl * SemaOpenMP::CheckOMPGroupPrivateDecl | ( | SourceLocation | Loc, |
| ArrayRef< Expr * > | VarList ) |
Builds a new OpenMPGroupPrivateDecl and checks its correctness.
Definition at line 3496 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), clang::AS_public, clang::cast(), clang::OMPGroupPrivateDecl::Create(), clang::VarDecl::DeclarationOnly, Diag(), DSAStack, clang::VarDecl::getAnyInitializer(), clang::SemaBase::getASTContext(), clang::NamedDecl::getDeclName(), clang::Decl::getLocation(), clang::ValueDecl::getType(), clang::Type::isDependentType(), clang::Type::isInstantiationDependentType(), clang::Type::isReferenceType(), clang::VarDecl::isThisDeclarationADefinition(), clang::Decl::markUsed(), clang::SemaBase::SemaRef, clang::Decl::setAccess(), and clang::Decl::setReferenced().
Referenced by ActOnOpenMPGroupPrivateDirective().
| OMPRequiresDecl * SemaOpenMP::CheckOMPRequiresDecl | ( | SourceLocation | Loc, |
| ArrayRef< OMPClause * > | Clauses ) |
Check restrictions on Requires directive.
For target specific clauses, the requires directive cannot be specified after the handling of any of the target regions in the current compilation unit.
Definition at line 3827 of file SemaOpenMP.cpp.
References clang::OMPRequiresDecl::Create(), Diag(), DSAStack, clang::SemaBase::getASTContext(), getOpenMPClauseNameForDiag(), clang::isa(), clang::SourceLocation::isInvalid(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPRequiresDirective().
| OMPThreadPrivateDecl * SemaOpenMP::CheckOMPThreadPrivateDecl | ( | SourceLocation | Loc, |
| ArrayRef< Expr * > | VarList ) |
Builds a new OpenMPThreadPrivateDecl and checks its correctness.
Definition at line 3411 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), clang::AS_public, clang::cast(), clang::OMPThreadPrivateDecl::Create(), clang::VarDecl::DeclarationOnly, Diag(), DSAStack, clang::VarDecl::getAnyInitializer(), clang::SemaBase::getASTContext(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), clang::VarDecl::getStorageClass(), clang::VarDecl::getTLSKind(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::Init, clang::Type::isDependentType(), clang::Type::isInstantiationDependentType(), clang::VarDecl::isLocalVarDecl(), clang::Type::isReferenceType(), clang::VarDecl::isThisDeclarationADefinition(), clang::Decl::markUsed(), clang::SC_Register, clang::SemaBase::SemaRef, clang::Decl::setAccess(), clang::Decl::setReferenced(), and clang::VarDecl::TLS_None.
Referenced by ActOnOpenMPThreadprivateDirective().
| std::optional< std::pair< FunctionDecl *, Expr * > > SemaOpenMP::checkOpenMPDeclareVariantFunction | ( | SemaOpenMP::DeclGroupPtrTy | DG, |
| Expr * | VariantRef, | ||
| OMPTraitInfo & | TI, | ||
| unsigned | NumAppendArgs, | ||
| SourceRange | SR ) |
Checks '#pragma omp declare variant' variant function and original functions after parsing of the associated method/function.
| DG | Function declaration to which declare variant directive is applied to. |
| VariantRef | Expression that references the variant function, which must be used instead of the original one, specified in DG. |
| TI | The trait info object representing the match clause. |
| NumAppendArgs | The number of omp_interop_t arguments to account for in checking. |
Definition at line 7913 of file SemaOpenMP.cpp.
References OMPTraitInfo::anyScoreOrCondition(), clang::cast(), clang::Expr::containsUnexpandedParameterPack(), clang::Converting, clang::CPlusPlus, clang::Definition, clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::OpaquePtr< PtrTy >::get(), clang::Type::getAsAdjusted(), clang::SemaBase::getASTContext(), clang::SourceRange::getBegin(), clang::Stmt::getBeginLoc(), clang::FieldDecl::getCanonicalDecl(), clang::DeclRefExpr::getDecl(), clang::Expr::getExprLoc(), clang::SemaBase::getLangOpts(), clang::Decl::getLocation(), getRange(), clang::DeclGroupRef::getSingleDecl(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::QualType::getUnqualifiedType(), clang::Decl::hasAttr(), clang::Expr::IgnoreImplicit(), clang::Expr::IgnoreParenImpCasts(), clang::isa(), clang::ImplicitConversionSequence::isFailure(), clang::Type::isFunctionNoProtoType(), clang::Type::isFunctionProtoType(), clang::Type::isFunctionType(), clang::Expr::isInstantiationDependent(), clang::Expr::isIntegerConstantExpr(), clang::DeclGroupRef::isNull(), clang::QualType::isNull(), clang::DeclGroupRef::isSingleDecl(), clang::Expr::isTypeDependent(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::Decl::isUsed(), clang::Expr::isValueDependent(), clang::Sema::LookupOrdinaryName, clang::Method, clang::None, clang::Result, clang::SemaBase::SemaRef, and setPrototype().
Referenced by instantiateOMPDeclareVariantAttr().
| bool SemaOpenMP::CheckOpenMPLinearDecl | ( | const ValueDecl * | D, |
| SourceLocation | ELoc, | ||
| OpenMPLinearClauseKind | LinKind, | ||
| QualType | Type, | ||
| bool | IsDeclareSimd = false ) |
Checks that the specified declaration matches requirements for the linear decls.
Definition at line 22795 of file SemaOpenMP.cpp.
References clang::VarDecl::DeclarationOnly, clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Decl::getLocation(), clang::getOpenMPSimpleClauseTypeName(), clang::Type::isReferenceType(), rejectConstNotMutableType(), and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPDeclareSimdDirective(), and ActOnOpenMPLinearClause().
| bool SemaOpenMP::CheckOpenMPLinearModifier | ( | OpenMPLinearClauseKind | LinKind, |
| SourceLocation | LinLoc ) |
Checks correctness of linear modifiers.
Definition at line 22784 of file SemaOpenMP.cpp.
References clang::CPlusPlus, clang::SemaBase::Diag(), clang::SemaBase::getLangOpts(), and clang::OMPC_LINEAR_unknown.
Referenced by ActOnOpenMPLinearClause(), and parseDeclareSimdClauses().
| SemaBase::SemaDiagnosticBuilder SemaOpenMP::diagIfOpenMPDeviceCode | ( | SourceLocation | Loc, |
| unsigned | DiagID, | ||
| const FunctionDecl * | FD ) |
Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as device code".
Example usage:
// Variable-length arrays are not allowed in NVPTX device code. if (diagIfOpenMPDeviceCode(Loc, diag::err_vla_unsupported)) return ExprError(); // Otherwise, continue parsing as normal.
Definition at line 2117 of file SemaOpenMP.cpp.
References clang::Sema::CUDADiscarded, clang::Sema::Emitted, clang::SemaBase::getLangOpts(), isOpenMPDeviceDelayedContext(), clang::Sema::OMPDiscarded, clang::SemaBase::SemaRef, clang::Sema::TemplateDiscarded, and clang::Sema::Unknown.
| SemaBase::SemaDiagnosticBuilder SemaOpenMP::diagIfOpenMPHostCode | ( | SourceLocation | Loc, |
| unsigned | DiagID, | ||
| const FunctionDecl * | FD ) |
Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as host code".
Example usage:
// Variable-length arrays are not allowed in NVPTX device code. if (diagIfOpenMPHostode(Loc, diag::err_vla_unsupported)) return ExprError(); // Otherwise, continue parsing as normal.
Definition at line 2155 of file SemaOpenMP.cpp.
References clang::Sema::CUDADiscarded, clang::Sema::Emitted, clang::SemaBase::getLangOpts(), clang::Sema::OMPDiscarded, clang::SemaBase::SemaRef, clang::Sema::TemplateDiscarded, and clang::Sema::Unknown.
| void SemaOpenMP::DiagnoseUnterminatedOpenMPDeclareTarget | ( | ) |
Report unterminated 'omp declare target' or 'omp begin declare target' at the end of a compilation unit.
Definition at line 26432 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getLangOpts(), clang::LangOptions::getOpenMPVersion(), clang::SemaOpenMP::DeclareTargetContextInfo::Kind, and clang::SemaOpenMP::DeclareTargetContextInfo::Loc.
Referenced by clang::Sema::ActOnEndOfTranslationUnit().
| void SemaOpenMP::EndOpenMPClause | ( | ) |
End analysis of clauses.
Definition at line 2904 of file SemaOpenMP.cpp.
References DSAStack, and clang::SemaBase::SemaRef.
| void SemaOpenMP::EndOpenMPDSABlock | ( | Stmt * | CurDirective | ) |
Called on end of data sharing attribute block.
Definition at line 2990 of file SemaOpenMP.cpp.
References OMPUsesAllocatorsClause::Data::Allocator, buildDeclRefExpr(), buildVarDecl(), clang::C, clang::cast(), Diag(), DSAStack, clang::Decl::getAttrs(), clang::NamedDecl::getName(), clang::QualType::getNonReferenceType(), getPrivateItem(), clang::Decl::getSourceRange(), clang::ValueDecl::getType(), clang::Decl::hasAttrs(), clang::Expr::IgnoreParenImpCasts(), clang::isa(), clang::Decl::isInvalidDecl(), reportOriginalDsa(), and clang::SemaBase::SemaRef.
| void SemaOpenMP::finalizeOpenMPDelayedAnalysis | ( | const FunctionDecl * | Caller, |
| const FunctionDecl * | Callee, | ||
| SourceLocation | Loc ) |
Finishes analysis of the deferred functions calls that may be declared as host/nohost during device/host compilation.
Definition at line 2834 of file SemaOpenMP.cpp.
References clang::cast(), Diag(), clang::SemaBase::getLangOpts(), clang::FunctionDecl::getMostRecentDecl(), and clang::getOpenMPSimpleClauseTypeName().
| ExprResult SemaOpenMP::getOpenMPCapturedExpr | ( | VarDecl * | Capture, |
| ExprValueKind | VK, | ||
| ExprObjectKind | OK, | ||
| SourceLocation | Loc ) |
Definition at line 20700 of file SemaOpenMP.cpp.
References clang::CPlusPlus, clang::ExprError(), clang::ActionResult< PtrTy, Compress >::get(), clang::SemaBase::getLangOpts(), clang::Expr::isGLValue(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::OK_Ordinary, clang::SemaBase::SemaRef, and clang::VK_LValue.
Referenced by clang::Sema::BuildFieldReferenceExpr().
|
static |
Return the number of captured regions created for an OpenMP directive.
Definition at line 4994 of file SemaOpenMP.cpp.
References clang::getOpenMPCaptureRegions().
Referenced by ActOnOpenMPExecutableDirective(), isOpenMPGlobalCapturedDecl(), and setBranchProtectedScope().
| const ValueDecl * SemaOpenMP::getOpenMPDeclareMapperVarName | ( | ) | const |
Definition at line 25887 of file SemaOpenMP.cpp.
References clang::cast(), DSAStack, and clang::SemaBase::getLangOpts().
Referenced by clang::Sema::DiagnoseUseOfDecl().
| int SemaOpenMP::getOpenMPDeviceNum | ( | ) | const |
Definition at line 18696 of file SemaOpenMP.cpp.
Referenced by ActOnOpenMPCall().
| ArrayRef< const OMPRequiresDecl * > SemaOpenMP::getRequiresDecls | ( | ) | const |
The 'requires' directives seen so far in this translation unit.
Definition at line 2091 of file SemaOpenMP.cpp.
References DSAStack.
| void SemaOpenMP::handleOMPAssumeAttr | ( | Decl * | D, |
| const ParsedAttr & | AL ) |
Definition at line 28365 of file SemaOpenMP.cpp.
References clang::Decl::addAttr(), checkOMPAssumeAttr(), clang::SemaBase::getASTContext(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().
|
inline |
Check if there is an active global omp assumes directive.
Definition at line 254 of file SemaOpenMP.h.
|
inline |
Check if there is an active global omp begin assumes directive.
Definition at line 251 of file SemaOpenMP.h.
Referenced by ActOnOpenMPEndAssumesDirective().
|
inline |
Return true inside OpenMP declare target region.
Definition at line 385 of file SemaOpenMP.h.
Referenced by checkDeclIsAllowedInOpenMPTarget(), isOpenMPCapturedDecl(), and MarkExprReferenced().
|
inline |
Can we exit an OpenMP declare variant scope at the moment.
Definition at line 113 of file SemaOpenMP.h.
Referenced by ActOnOpenMPEndDeclareVariant().
| bool SemaOpenMP::isInOpenMPTargetExecutionDirective | ( | ) | const |
Return true inside OpenMP target region.
Definition at line 2419 of file SemaOpenMP.cpp.
References DSAStack, and clang::isOpenMPTargetExecutionDirective().
Referenced by ActOnOpenMPCall(), isOpenMPCapturedDecl(), isOpenMPDeviceDelayedContext(), and isOpenMPGlobalCapturedDecl().
| bool SemaOpenMP::isInOpenMPTaskUntiedContext | ( | ) | const |
Return true if currently in OpenMP task with untied clause context.
Definition at line 2414 of file SemaOpenMP.cpp.
References DSAStack, and clang::isOpenMPTaskingDirective().
| bool SemaOpenMP::isOpenMPCapturedByRef | ( | const ValueDecl * | D, |
| unsigned | Level, | ||
| unsigned | OpenMPCaptureLevel ) const |
Return true if the provided declaration VD should be captured by reference.
| Level | Relative level of nested OpenMP construct for that the check is performed. |
| OpenMPCaptureLevel | Capture level within an OpenMP construct. |
Definition at line 2195 of file SemaOpenMP.cpp.
References clang::cast(), clang::Type::castAs(), DSAStack, clang::ASTContext::getAlignOfGlobalVarInChars(), clang::SemaBase::getASTContext(), clang::Decl::getCanonicalDecl(), clang::SemaBase::getLangOpts(), clang::QualType::getNonReferenceType(), getPointeeType(), clang::ValueDecl::getType(), clang::ASTContext::getTypeAlignInChars(), clang::ASTContext::getTypeSizeInChars(), clang::ASTContext::getUIntPtrType(), getVariableCategoryFromDecl(), clang::Decl::hasAttr(), clang::isa(), clang::Type::isAnyPointerType(), clang::isOpenMPTargetExecutionDirective(), clang::Type::isPointerType(), clang::Type::isReferenceType(), clang::Type::isScalarType(), and clang::Last.
Referenced by captureInCapturedRegion().
| VarDecl * SemaOpenMP::isOpenMPCapturedDecl | ( | ValueDecl * | D, |
| bool | CheckScopeInfo = false, | ||
| unsigned | StopAt = 0 ) |
Check if the specified variable is used in one of the private clauses (private, firstprivate, lastprivate, reduction etc.) in OpenMP constructs.
Definition at line 2453 of file SemaOpenMP.cpp.
References buildCaptureDecl(), buildDeclRefExpr(), clang::C, clang::cast(), checkDeclIsAllowedInOpenMPTarget(), clang::CR_OpenMP, DSAStack, clang::Decl::getAccess(), getCanonicalDecl(), clang::DeclRefExpr::getDecl(), clang::NamedDecl::getIdentifier(), clang::SemaBase::getLangOpts(), clang::QualType::getNonReferenceType(), clang::getOpenMPCaptureRegions(), clang::ValueDecl::getType(), clang::VarDecl::hasLocalStorage(), clang::isa(), clang::VarDecl::isConstexpr(), isInOpenMPDeclareTargetContext(), isInOpenMPTargetExecutionDirective(), clang::isOpenMPPrivate(), clang::isOpenMPThreadPrivate(), clang::DeclAccessPair::make(), clang::OK_Ordinary, clang::sema::CapturedRegionScopeInfo::OpenMPCaptureLevel, clang::sema::CapturedRegionScopeInfo::OpenMPLevel, clang::SemaBase::SemaRef, and clang::VK_LValue.
Referenced by actOnOMPReductionKindClause(), ActOnOpenMPAlignedClause(), ActOnOpenMPCopyprivateClause(), ActOnOpenMPFirstprivateClause(), ActOnOpenMPLastprivateClause(), ActOnOpenMPLinearClause(), ActOnOpenMPLoopInitialization(), ActOnOpenMPSharedClause(), buildCapture(), captureInBlock(), and captureInCapturedRegion().
Definition at line 25872 of file SemaOpenMP.cpp.
References DSAStack, clang::SemaBase::getASTContext(), clang::Decl::getCanonicalDecl(), clang::VarDecl::getCanonicalDecl(), clang::DeclRefExpr::getDecl(), clang::SemaBase::getLangOpts(), and clang::VarDecl::isUsableInConstantExpressions().
| bool SemaOpenMP::isOpenMPGlobalCapturedDecl | ( | ValueDecl * | D, |
| unsigned | Level, | ||
| unsigned | CaptureLevel ) const |
Check if the specified global variable must be captured by outer capture regions.
| Level | Relative level of nested OpenMP construct for that the check is performed. |
Definition at line 2790 of file SemaOpenMP.cpp.
References DSAStack, clang::SemaBase::getLangOpts(), getOpenMPCaptureLevels(), clang::VarDecl::hasLocalStorage(), and isInOpenMPTargetExecutionDirective().
Referenced by clang::Sema::tryCaptureVariable().
| OpenMPClauseKind SemaOpenMP::isOpenMPPrivateDecl | ( | ValueDecl * | D, |
| unsigned | Level, | ||
| unsigned | CapLevel ) const |
Check if the specified variable is used in 'private' clause.
| Level | Relative level of nested OpenMP construct for that the check is performed. |
Definition at line 2640 of file SemaOpenMP.cpp.
References clang::C, clang::cast(), DSAStack, clang::Type::getAsCXXRecordDecl(), clang::SemaBase::getASTContext(), clang::Decl::getCanonicalDecl(), clang::QualType::getCanonicalType(), clang::SemaBase::getLangOpts(), clang::QualType::getNonReferenceType(), clang::getOpenMPCaptureRegions(), clang::ValueDecl::getType(), clang::isa(), clang::isOpenMPLoopDirective(), clang::isOpenMPLoopTransformationDirective(), clang::isOpenMPPrivate(), clang::isOpenMPSimdDirective(), clang::isOpenMPTargetExecutionDirective(), clang::isOpenMPTaskingDirective(), clang::isOpenMPTaskLoopDirective(), and clang::QualType::isTriviallyCopyableType().
Referenced by captureInCapturedRegion(), and clang::Sema::tryCaptureVariable().
The member expression(this->fd) needs to be rebuilt in the template instantiation to generate private copy for OpenMP when default clause is used.
The function will return true if default cluse is used.
Definition at line 2430 of file SemaOpenMP.cpp.
References clang::C, DSAStack, clang::isa(), and clang::isOpenMPPrivate().
| bool SemaOpenMP::isOpenMPTargetCapturedDecl | ( | const ValueDecl * | D, |
| unsigned | Level, | ||
| unsigned | CaptureLevel ) const |
Check if the specified variable is captured by 'target' directive.
| Level | Relative level of nested OpenMP construct for that the check is performed. |
Definition at line 2776 of file SemaOpenMP.cpp.
References DSAStack, clang::SemaBase::getLangOpts(), clang::getOpenMPCaptureRegions(), clang::VarDecl::hasLocalStorage(), and clang::isOpenMPTargetExecutionDirective().
Referenced by clang::Sema::tryCaptureVariable().
| NamedDecl * SemaOpenMP::lookupOpenMPDeclareTargetName | ( | Scope * | CurScope, |
| CXXScopeSpec & | ScopeSpec, | ||
| const DeclarationNameInfo & | Id ) |
Searches for the provided declaration name for OpenMP declare target directive.
Definition at line 26441 of file SemaOpenMP.cpp.
References checkDeclIsAllowedInOpenMPTarget(), clang::SemaBase::Diag(), clang::ErrorRecovery, clang::LookupResult::getAsSingle(), clang::DeclarationNameInfo::getLoc(), clang::DeclarationNameInfo::getName(), clang::isa(), clang::LookupResult::isAmbiguous(), clang::LookupResult::isSingleResult(), clang::Sema::LookupOrdinaryName, clang::SemaBase::SemaRef, and clang::LookupResult::suppressDiagnostics().
| ExprResult SemaOpenMP::PerformOpenMPImplicitIntegerConversion | ( | SourceLocation | OpLoc, |
| Expr * | Op ) |
Definition at line 18441 of file SemaOpenMP.cpp.
References clang::SemaBase::Diag(), clang::ExprError(), clang::Decl::getLocation(), clang::Type::isEnumeralType(), Sema, clang::SemaBase::SemaRef, and clang::T.
Referenced by ActOnOMPArraySectionExpr(), ActOnOMPArrayShapingExpr(), ActOnOpenMPDeclareSimdDirective(), ActOnOpenMPDeviceClause(), ActOnOpenMPDistScheduleClause(), ActOnOpenMPLinearClause(), ActOnOpenMPScheduleClause(), and isNonNegativeIntegerValue().
Sets OpenMP capture kind (OMPC_private, OMPC_firstprivate, OMPC_map etc.) for FD based on DSA for the provided corresponding captured declaration D.
Definition at line 2737 of file SemaOpenMP.cpp.
References DSAStack, getCanonicalDecl(), clang::SemaBase::getLangOpts(), getVariableCategoryFromDecl(), and clang::isOpenMPTargetExecutionDirective().
Referenced by buildCapturedStmtCaptureList().
| void SemaOpenMP::setOpenMPDeviceNum | ( | int | Num | ) |
Setter and getter functions for device_num.
Definition at line 18692 of file SemaOpenMP.cpp.
References clang::Num.
Referenced by ActOnOpenMPDeviceNum().
| void SemaOpenMP::setOpenMPDeviceNumID | ( | StringRef | ID | ) |
Definition at line 18694 of file SemaOpenMP.cpp.
Referenced by ActOnOpenMPDeviceNum().
| void SemaOpenMP::StartOpenMPClause | ( | OpenMPClauseKind | K | ) |
| void SemaOpenMP::startOpenMPCXXRangeFor | ( | ) |
If the current region is a range loop-based region, mark the start of the loop construct.
Definition at line 2632 of file SemaOpenMP.cpp.
References DSAStack, clang::SemaBase::getLangOpts(), and clang::isOpenMPLoopDirective().
| void SemaOpenMP::StartOpenMPDSABlock | ( | OpenMPDirectiveKind | K, |
| const DeclarationNameInfo & | DirName, | ||
| Scope * | CurScope, | ||
| SourceLocation | Loc ) |
Called on start of new data sharing attribute block.
Definition at line 2892 of file SemaOpenMP.cpp.
References DSAStack, clang::Sema::PotentiallyEvaluated, and clang::SemaBase::SemaRef.
| void SemaOpenMP::startOpenMPLoop | ( | ) |
If the current region is a loop-based region, mark the start of the loop construct.
Definition at line 2626 of file SemaOpenMP.cpp.
References DSAStack, clang::SemaBase::getLangOpts(), and clang::isOpenMPLoopDirective().
| void SemaOpenMP::tryCaptureOpenMPLambdas | ( | ValueDecl * | V | ) |
Function tries to capture lambda's captured variables in the OpenMP region before the original lambda is captured.
Definition at line 5103 of file SemaOpenMP.cpp.
References clang::cast(), DSAStack, clang::DeclContext::Encloses(), clang::Type::getAsCXXRecordDecl(), clang::SemaBase::getASTContext(), clang::Decl::getDeclContext(), clang::ValueDecl::getType(), clang::QualType::isNull(), clang::isOpenMPTargetDataManagementDirective(), clang::isOpenMPTargetExecutionDirective(), clang::LCK_ByRef, clang::LCK_This, clang::SemaBase::SemaRef, and V.
Referenced by MarkVarDeclODRUsed().
| ExprResult SemaOpenMP::VerifyPositiveIntegerConstantInClause | ( | Expr * | Op, |
| OpenMPClauseKind | CKind, | ||
| bool | StrictlyPositive = true, | ||
| bool | SuppressExprDiags = false ) |
Definition at line 18633 of file SemaOpenMP.cpp.
References clang::Allow, clang::Expr::containsUnexpandedParameterPack(), clang::SemaBase::Diag(), DSAStack, clang::ExprError(), clang::Expr::getExprLoc(), getOpenMPClauseNameForDiag(), clang::Stmt::getSourceRange(), clang::Expr::isInstantiationDependent(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), clang::Result, Sema, and clang::SemaBase::SemaRef.
Referenced by ActOnOpenMPAlignClause(), ActOnOpenMPAlignedClause(), ActOnOpenMPAllocateClause(), ActOnOpenMPCollapseClause(), ActOnOpenMPCountsClause(), ActOnOpenMPDeclareSimdDirective(), ActOnOpenMPDepthClause(), ActOnOpenMPDimsModifier(), ActOnOpenMPHintClause(), ActOnOpenMPLoopRangeClause(), ActOnOpenMPOrderedClause(), ActOnOpenMPPartialClause(), ActOnOpenMPSafelenClause(), ActOnOpenMPSimdlenClause(), ActOnOpenMPUnrollDirective(), and ProcessOpenMPDoacrossClauseCommon().
|
friend |
|
friend |
Definition at line 55 of file SemaOpenMP.h.
References Sema.
Referenced by PerformOpenMPImplicitIntegerConversion(), Sema, SemaOpenMP(), and VerifyPositiveIntegerConstantInClause().