Lines Matching refs:DSAStack
2005 #define DSAStack static_cast<DSAStackTy *>(VarDataSharingAttributesStack) macro
2007 void Sema::pushOpenMPFunctionRegion() { DSAStack->pushFunction(); } in pushOpenMPFunctionRegion()
2010 DSAStack->popFunction(OldFSI); in popOpenMPFunctionRegion()
2119 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, Level)) { in isOpenMPCapturedByRef()
2182 DSAStack->checkMappableExprComponentListsForDeclAtLevel( in isOpenMPCapturedByRef()
2228 IsByRef = (DSAStack->isForceCaptureByReferenceInTargetExecutable() && in isOpenMPCapturedByRef()
2231 DSAStack->isDefaultmapCapturedByRef( in isOpenMPCapturedByRef()
2233 DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2245 DSAStack->getCaptureRegion(Level, OpenMPCaptureLevel) == in isOpenMPCapturedByRef()
2247 !(DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2254 DSAStack->isUsesAllocatorsDecl(Level, D))) && in isOpenMPCapturedByRef()
2261 !((DSAStack->getDefaultDSA() == DSA_firstprivate || in isOpenMPCapturedByRef()
2262 DSAStack->getDefaultDSA() == DSA_private) && in isOpenMPCapturedByRef()
2263 !DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2266 !DSAStack->isLoopControlVariable(D, Level).first); in isOpenMPCapturedByRef()
2285 return DSAStack->getNestingLevel(); in getOpenMPNestingLevel()
2289 return isOpenMPTaskingDirective(DSAStack->getCurrentDirective()) && in isInOpenMPTaskUntiedContext()
2290 DSAStack->isUntiedRegion(); in isInOpenMPTaskUntiedContext()
2294 return (isOpenMPTargetExecutionDirective(DSAStack->getCurrentDirective()) && in isInOpenMPTargetExecutionDirective()
2295 !DSAStack->isClauseParsingMode()) || in isInOpenMPTargetExecutionDirective()
2296 DSAStack->hasDirective( in isInOpenMPTargetExecutionDirective()
2308 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPRebuildMemberExpr()
2316 DSAStack->isClauseParsingMode()); in isOpenMPRebuildMemberExpr()
2342 *DSAStack, CheckScopeInfo && DSAStack->isBodyComplete()); in isOpenMPCapturedDecl()
2351 DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2374 DSAStack->getDirective(CSI->OpenMPLevel)); in isOpenMPCapturedDecl()
2404 if (DSAStack->getCurrentDirective() != OMPD_unknown && in isOpenMPCapturedDecl()
2405 (!DSAStack->isClauseParsingMode() || in isOpenMPCapturedDecl()
2406 DSAStack->getParentDirective() != OMPD_unknown)) { in isOpenMPCapturedDecl()
2407 auto &&Info = DSAStack->isLoopControlVariable(D); in isOpenMPCapturedDecl()
2410 isImplicitOrExplicitTaskingRegion(DSAStack->getCurrentDirective())) || in isOpenMPCapturedDecl()
2411 (VD && DSAStack->isForceVarCapturing())) in isOpenMPCapturedDecl()
2414 DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2423 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPCapturedDecl()
2429 DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2432 ((DSAStack->getDefaultDSA() != DSA_none && in isOpenMPCapturedDecl()
2433 DSAStack->getDefaultDSA() != DSA_private && in isOpenMPCapturedDecl()
2434 DSAStack->getDefaultDSA() != DSA_firstprivate) || in isOpenMPCapturedDecl()
2440 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPCapturedDecl()
2449 DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2453 VarDecl *VD = DSAStack->getImplicitFDCapExprDecl(FD); in isOpenMPCapturedDecl()
2473 DSAStack->addImplicitDefaultFirstprivateFD(FD, VD); in isOpenMPCapturedDecl()
2477 (VD && (DSAStack->getDefaultDSA() == DSA_none || in isOpenMPCapturedDecl()
2478 DSAStack->getDefaultDSA() == DSA_private || in isOpenMPCapturedDecl()
2479 DSAStack->getDefaultDSA() == DSA_firstprivate))) in isOpenMPCapturedDecl()
2487 FunctionScopesIndex -= getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in adjustOpenMPTargetScopeIndex()
2492 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) in startOpenMPLoop()
2493 DSAStack->loopInit(); in startOpenMPLoop()
2498 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in startOpenMPCXXRangeFor()
2499 DSAStack->resetPossibleLoopCounter(); in startOpenMPCXXRangeFor()
2500 DSAStack->loopStart(); in startOpenMPCXXRangeFor()
2507 if (DSAStack->getCurrentDirective() != OMPD_unknown && in isOpenMPPrivateDecl()
2508 (!DSAStack->isClauseParsingMode() || in isOpenMPPrivateDecl()
2509 DSAStack->getParentDirective() != OMPD_unknown)) { in isOpenMPPrivateDecl()
2510 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPPrivateDecl()
2518 DSAStack->isClauseParsingMode()); in isOpenMPPrivateDecl()
2520 DSAStack->isImplicitDefaultFirstprivateFD(cast<VarDecl>(D)) && in isOpenMPPrivateDecl()
2521 !DSAStack->isLoopControlVariable(D).first) in isOpenMPPrivateDecl()
2524 if (DSAStack->hasExplicitDirective(isOpenMPTaskingDirective, Level)) { in isOpenMPPrivateDecl()
2531 OpenMPDirectiveKind DKind = DSAStack->getDirective(Level); in isOpenMPPrivateDecl()
2537 if (DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2542 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPPrivateDecl()
2544 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) { in isOpenMPPrivateDecl()
2545 DSAStack->addImplicitTaskFirstprivate(Level, D); in isOpenMPPrivateDecl()
2550 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in isOpenMPPrivateDecl()
2551 if (DSAStack->getAssociatedLoops() > 0 && !DSAStack->isLoopStarted()) { in isOpenMPPrivateDecl()
2552 DSAStack->resetPossibleLoopCounter(D); in isOpenMPPrivateDecl()
2553 DSAStack->loopStart(); in isOpenMPPrivateDecl()
2556 if ((DSAStack->getPossiblyLoopCunter() == D->getCanonicalDecl() || in isOpenMPPrivateDecl()
2557 DSAStack->isLoopControlVariable(D).first) && in isOpenMPPrivateDecl()
2558 !DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2561 !isOpenMPSimdDirective(DSAStack->getCurrentDirective())) in isOpenMPPrivateDecl()
2565 if (DSAStack->isThreadPrivate(const_cast<VarDecl *>(VD)) && in isOpenMPPrivateDecl()
2566 DSAStack->isForceVarCapturing() && in isOpenMPPrivateDecl()
2567 !DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2574 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, Level) && in isOpenMPPrivateDecl()
2575 DSAStack->isUsesAllocatorsDecl(Level, D).value_or( in isOpenMPPrivateDecl()
2579 return (DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2582 (DSAStack->isClauseParsingMode() && in isOpenMPPrivateDecl()
2583 DSAStack->getClauseParsingMode() == OMPC_private) || in isOpenMPPrivateDecl()
2586 (DSAStack->hasExplicitDirective( in isOpenMPPrivateDecl()
2594 DSAStack->isTaskgroupReductionRef(D, Level))) in isOpenMPPrivateDecl()
2604 for (unsigned I = DSAStack->getNestingLevel() + 1; I > Level; --I) { in setOpenMPCaptureKind()
2606 if (DSAStack->hasExplicitDSA( in setOpenMPCaptureKind()
2617 if (DSAStack->checkMappableExprComponentListsForDeclAtLevel( in setOpenMPCaptureKind()
2624 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, in setOpenMPCaptureKind()
2627 if (DSAStack->mustBeFirstprivateAtLevel( in setOpenMPCaptureKind()
2643 getOpenMPCaptureRegions(Regions, DSAStack->getDirective(Level)); in isOpenMPTargetCapturedDecl()
2646 DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, in isOpenMPTargetCapturedDecl()
2661 DSAStack->getTopDSA(D, /*FromParent=*/false); in isOpenMPGlobalCapturedDecl()
2663 getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in isOpenMPGlobalCapturedDecl()
2669 DSAStack->getDefaultDSA() == DSA_firstprivate)); in isOpenMPGlobalCapturedDecl()
2672 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPGlobalCapturedDecl()
2681 void Sema::DestroyDataSharingAttributesStack() { delete DSAStack; } in DestroyDataSharingAttributesStack()
2755 DSAStack->push(DKind, DirName, CurScope, Loc); in StartOpenMPDSABlock()
2761 DSAStack->setClauseParsingMode(K); in StartOpenMPClause()
2765 DSAStack->setClauseParsingMode(/*K=*/OMPC_unknown); in EndOpenMPClause()
2869 DSAStack->getTopDSA(VD, /*FromParent=*/false); in EndOpenMPDSABlock()
2912 DSAStack->getTopDSA(D, /*FromParent=*/false); in EndOpenMPDSABlock()
2929 DSAStack->getTopDSA(VD, /*FromParent=*/false); in EndOpenMPDSABlock()
2936 DSAStack->checkMappableExprComponentListsForDecl( in EndOpenMPDSABlock()
2956 reportOriginalDsa(*this, DSAStack, VD, DVar); in EndOpenMPDSABlock()
2967 checkAllocateClauses(*this, DSAStack, D->clauses()); in EndOpenMPDSABlock()
2968 checkReductionClauses(*this, DSAStack, D->clauses()); in EndOpenMPDSABlock()
2971 DSAStack->pop(); in EndOpenMPDSABlock()
3140 !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPIdExpression()
3259 DSAStack->addDSA(VD, DE, OMPC_threadprivate); in CheckOMPThreadPrivateDecl()
3387 !DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>()) in ActOnOpenMPAllocateDirective()
3399 getAllocatorKind(*this, DSAStack, Allocator); in ActOnOpenMPAllocateDirective()
3414 if (checkPreviousOMPAllocateAttribute(*this, DSAStack, RefExpr, VD, in ActOnOpenMPAllocateDirective()
3460 DSAStack->addRequiresDecl(D); in ActOnOpenMPRequiresDirective()
3529 DSAStack->getEncounteredTargetLocs(); in CheckOMPRequiresDecl()
3530 SourceLocation AtomicLoc = DSAStack->getAtomicDirectiveLoc(); in CheckOMPRequiresDecl()
3554 if (!DSAStack->hasDuplicateRequiresClause(ClauseList)) in CheckOMPRequiresDecl()
4191 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4221 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4233 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4242 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4266 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4274 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4304 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4327 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4374 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4406 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4427 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4449 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4474 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4486 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4495 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4507 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4523 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4540 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4552 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4577 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4613 DSAStack->setContext(CurContext); in ActOnOpenMPRegionStart()
4614 handleDeclareVariantConstructTrait(DSAStack, DKind, /* ScopeEntry */ true); in ActOnOpenMPRegionStart()
4618 return getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in getNumberOfConstructScopes()
4724 (isOpenMPTargetExecutionDirective(DSAStack->getCurrentDirective()) || in tryCaptureOpenMPLambdas()
4726 DSAStack->getCurrentDirective()))) { in tryCaptureOpenMPLambdas()
4732 DSAStack->isForceCaptureByReferenceInTargetExecutable(); in tryCaptureOpenMPLambdas()
4733 DSAStack->setForceCaptureByReferenceInTargetExecutable( in tryCaptureOpenMPLambdas()
4754 DSAStack->setForceCaptureByReferenceInTargetExecutable( in tryCaptureOpenMPLambdas()
4792 handleDeclareVariantConstructTrait(DSAStack, DSAStack->getCurrentDirective(), in ActOnOpenMPRegionEnd()
4794 if (DSAStack->getCurrentDirective() == OMPD_atomic || in ActOnOpenMPRegionEnd()
4795 DSAStack->getCurrentDirective() == OMPD_critical || in ActOnOpenMPRegionEnd()
4796 DSAStack->getCurrentDirective() == OMPD_section || in ActOnOpenMPRegionEnd()
4797 DSAStack->getCurrentDirective() == OMPD_master || in ActOnOpenMPRegionEnd()
4798 DSAStack->getCurrentDirective() == OMPD_masked) in ActOnOpenMPRegionEnd()
4803 *this, ErrorFound, DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4810 getOpenMPCaptureRegions(CaptureRegions, DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4818 (isOpenMPTaskingDirective(DSAStack->getCurrentDirective()) || in ActOnOpenMPRegionEnd()
4819 DSAStack->getCurrentDirective() == OMPD_target) && in ActOnOpenMPRegionEnd()
4833 DSAStack->setForceVarCapturing(Clause->getClauseKind() == OMPC_copyin); in ActOnOpenMPRegionEnd()
4840 DSAStack->setForceVarCapturing(/*V=*/false); in ActOnOpenMPRegionEnd()
4842 DSAStack->getCurrentDirective())) { in ActOnOpenMPRegionEnd()
4862 for (Expr *E : DSAStack->getInnerAllocators()) in ActOnOpenMPRegionEnd()
4894 if (isOpenMPWorksharingDirective(DSAStack->getCurrentDirective()) && in ActOnOpenMPRegionEnd()
4895 isOpenMPSimdDirective(DSAStack->getCurrentDirective()) && OC && in ActOnOpenMPRegionEnd()
4898 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4959 DSAStack->setBodyComplete(); in ActOnOpenMPRegionEnd()
6117 checkNestingOfRegions(*this, DSAStack, Kind, DirName, CancelRegion, in ActOnOpenMPExecutableDirective()
6131 DSAAttrChecker DSAChecker(DSAStack, *this, cast<CapturedStmt>(AStmt)); in ActOnOpenMPExecutableDirective()
6272 processImplicitMapsWithDefaultMappers(*this, DSAStack, in ActOnOpenMPExecutableDirective()
6679 if (DSAStack->getDefaultDSA() == DSA_none || in ActOnOpenMPExecutableDirective()
6680 DSAStack->getDefaultDSA() == DSA_private || in ActOnOpenMPExecutableDirective()
6681 DSAStack->getDefaultDSA() == DSA_firstprivate) { in ActOnOpenMPExecutableDirective()
6682 DSAAttrChecker DSAChecker(DSAStack, *this, nullptr); in ActOnOpenMPExecutableDirective()
6803 if (DSAStack->getDefaultDSA() == DSA_none || in ActOnOpenMPExecutableDirective()
6804 DSAStack->getDefaultDSA() == DSA_private || in ActOnOpenMPExecutableDirective()
6805 DSAStack->getDefaultDSA() == DSA_firstprivate) { in ActOnOpenMPExecutableDirective()
6808 Diag(DSAStack->getDefaultDSALocation(), diag::note_omp_default_dsa_none); in ActOnOpenMPExecutableDirective()
6813 Diag(DSAStack->getDefaultDSALocation(), in ActOnOpenMPExecutableDirective()
6827 !(DSAStack->hasRequiresDeclWithClause<OMPUnifiedSharedMemoryClause>() || in ActOnOpenMPExecutableDirective()
6828 DSAStack->hasRequiresDeclWithClause<OMPUnifiedAddressClause>() || in ActOnOpenMPExecutableDirective()
6829 DSAStack->hasRequiresDeclWithClause<OMPReverseOffloadClause>() || in ActOnOpenMPExecutableDirective()
6830 DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>())) { in ActOnOpenMPExecutableDirective()
6832 DSAStack->addTargetDirLocation(StartLoc); in ActOnOpenMPExecutableDirective()
7280 getCurFunctionDecl(), DSAStack->getConstructTraits()); in ActOnOpenMPCall()
7751 DSAStack->getTaskgroupReductionRef(), in ActOnOpenMPParallelDirective()
7752 DSAStack->isCancelRegion()); in ActOnOpenMPParallelDirective()
9087 unsigned AssociatedLoops = DSAStack->getAssociatedLoops(); in ActOnOpenMPLoopInitialization()
9089 isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in ActOnOpenMPLoopInitialization()
9090 DSAStack->loopStart(); in ActOnOpenMPLoopInitialization()
9092 *DSAStack, ForLoc); in ActOnOpenMPLoopInitialization()
9106 DSAStack->addLoopControlVariable(D, VD); in ActOnOpenMPLoopInitialization()
9107 const Decl *LD = DSAStack->getPossiblyLoopCunter(); in ActOnOpenMPLoopInitialization()
9109 DSAStack->resetPossibleLoopCounter(); in ActOnOpenMPLoopInitialization()
9116 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPLoopInitialization()
9125 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLoopInitialization()
9131 ? (DSAStack->hasMutipleLoops() ? OMPC_lastprivate : OMPC_linear) in ActOnOpenMPLoopInitialization()
9151 reportOriginalDsa(*this, DSAStack, D, DVar, in ActOnOpenMPLoopInitialization()
9159 DSAStack->addDSA(D, LoopDeclRefExpr, PredeterminedCKind, in ActOnOpenMPLoopInitialization()
9164 DSAStack->setAssociatedLoops(AssociatedLoops - 1); in ActOnOpenMPLoopInitialization()
10289 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPSimdDirective()
10302 DSAStack)) in ActOnOpenMPSimdDirective()
10328 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPForDirective()
10341 DSAStack)) in ActOnOpenMPForDirective()
10349 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPForDirective()
10364 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPForSimdDirective()
10378 DSAStack)) in ActOnOpenMPForSimdDirective()
10416 ->setHasCancel(DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
10426 DSAStack->getTaskgroupReductionRef(), in ActOnOpenMPSectionsDirective()
10427 DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
10437 DSAStack->setParentCancelRegion(DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
10440 DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
10535 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_loop, DSAStack)) in ActOnOpenMPGenericLoopDirective()
10550 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPGenericLoopDirective()
10571 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_teams_loop, DSAStack)) in ActOnOpenMPTeamsGenericLoopDirective()
10596 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPTeamsGenericLoopDirective()
10605 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsGenericLoopDirective()
10621 DSAStack)) in ActOnOpenMPTargetTeamsGenericLoopDirective()
10646 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsGenericLoopDirective()
10669 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_parallel_loop, DSAStack)) in ActOnOpenMPParallelGenericLoopDirective()
10694 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelGenericLoopDirective()
10718 DSAStack)) in ActOnOpenMPTargetParallelGenericLoopDirective()
10743 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPTargetParallelGenericLoopDirective()
10839 const auto Pair = DSAStack->getCriticalWithHint(DirName); in ActOnOpenMPCriticalDirective()
10864 DSAStack->addCriticalWithHint(Dir, Hint); in ActOnOpenMPCriticalDirective()
10887 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPParallelForDirective()
10901 DSAStack)) in ActOnOpenMPParallelForDirective()
10909 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelForDirective()
10931 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPParallelForSimdDirective()
10942 DSAStack)) in ActOnOpenMPParallelForSimdDirective()
10975 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPParallelMasterDirective()
10998 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPParallelMaskedDirective()
11026 ->setHasCancel(DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
11038 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
11088 DSAStack->isCancelRegion()); in ActOnOpenMPTaskDirective()
11161 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPTaskgroupDirective()
11235 if (Scope *S = DSAStack->getCurScope()) { in ActOnOpenMPScanDirective()
11244 if (DSAStack->doesParentHasScanDirective()) { in ActOnOpenMPScanDirective()
11246 Diag(DSAStack->getParentScanDirectiveLoc(), in ActOnOpenMPScanDirective()
11251 DSAStack->setParentHasScanDirective(StartLoc); in ActOnOpenMPScanDirective()
11297 isOpenMPSimdDirective(DSAStack->getParentDirective())) { in ActOnOpenMPOrderedDirective()
11308 } else if (DependFound && !DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPOrderedDirective()
11313 if (const Expr *Param = DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPOrderedDirective()
11330 if (DSAStack->doesParentHasOrderedDirective()) { in ActOnOpenMPOrderedDirective()
11332 Diag(DSAStack->getParentOrderedDirectiveLoc(), in ActOnOpenMPOrderedDirective()
11337 DSAStack->setParentHasOrderedDirective(StartLoc); in ActOnOpenMPOrderedDirective()
12402 DSAStack->addAtomicDirectiveLoc(StartLoc); in ActOnOpenMPAtomicDirective()
12970 if (DSAStack->hasInnerTeamsRegion()) { in ActOnOpenMPTargetDirective()
12993 Diag(DSAStack->getInnerTeamsRegionLoc(), in ActOnOpenMPTargetDirective()
13035 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetParallelDirective()
13067 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, in ActOnOpenMPTargetParallelForDirective()
13081 DSAStack)) in ActOnOpenMPTargetParallelForDirective()
13089 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetParallelForDirective()
13284 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDirective()
13293 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancellationPointDirective()
13297 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancellationPointDirective()
13309 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancelDirective()
13313 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancelDirective()
13317 DSAStack->setParentCancelRegion(/*Cancel=*/true); in ActOnOpenMPCancelDirective()
13361 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPTaskLoopDirective()
13384 DSAStack->isCancelRegion()); in ActOnOpenMPTaskLoopDirective()
13399 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPTaskLoopSimdDirective()
13413 DSAStack)) in ActOnOpenMPTaskLoopSimdDirective()
13449 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMasterTaskLoopDirective()
13472 DSAStack->isCancelRegion()); in ActOnOpenMPMasterTaskLoopDirective()
13487 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMaskedTaskLoopDirective()
13510 DSAStack->isCancelRegion()); in ActOnOpenMPMaskedTaskLoopDirective()
13525 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMasterTaskLoopSimdDirective()
13539 DSAStack)) in ActOnOpenMPMasterTaskLoopSimdDirective()
13575 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMaskedTaskLoopSimdDirective()
13589 DSAStack)) in ActOnOpenMPMaskedTaskLoopSimdDirective()
13644 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMasterTaskLoopDirective()
13667 DSAStack->isCancelRegion()); in ActOnOpenMPParallelMasterTaskLoopDirective()
13701 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMaskedTaskLoopDirective()
13724 DSAStack->isCancelRegion()); in ActOnOpenMPParallelMaskedTaskLoopDirective()
13758 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13772 DSAStack)) in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13827 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13841 DSAStack)) in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13878 *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeDirective()
13920 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPDistributeParallelForDirective()
13931 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPDistributeParallelForDirective()
13964 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPDistributeParallelForSimdDirective()
13978 DSAStack)) in ActOnOpenMPDistributeParallelForSimdDirective()
14021 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeSimdDirective()
14034 DSAStack)) in ActOnOpenMPDistributeSimdDirective()
14076 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, VarsWithImplicitDSA, in ActOnOpenMPTargetParallelForSimdDirective()
14090 DSAStack)) in ActOnOpenMPTargetParallelForSimdDirective()
14131 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, in ActOnOpenMPTargetSimdDirective()
14145 DSAStack)) in ActOnOpenMPTargetSimdDirective()
14188 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTeamsDistributeDirective()
14197 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeDirective()
14233 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTeamsDistributeSimdDirective()
14248 DSAStack)) in ActOnOpenMPTeamsDistributeSimdDirective()
14258 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeSimdDirective()
14295 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
14310 DSAStack)) in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
14320 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
14357 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTeamsDistributeParallelForDirective()
14368 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeParallelForDirective()
14372 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTeamsDistributeParallelForDirective()
14436 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsDistributeDirective()
14479 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
14493 DSAStack)) in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
14501 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
14536 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
14550 DSAStack)) in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
14593 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14607 DSAStack)) in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14633 checkOpenMPLoop(Kind, nullptr, nullptr, CurStmt, *this, *DSAStack, in checkTransformableLoopNest()
16264 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPIfClause()
16296 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPFinalClause()
16410 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNumThreadsClause()
16465 if (CKind == OMPC_collapse && DSAStack->getAssociatedLoops() == 1) in VerifyPositiveIntegerConstantInClause()
16466 DSAStack->setAssociatedLoops(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
16468 DSAStack->setAssociatedLoops(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
16559 if (!findOMPAllocatorHandleT(*this, A->getExprLoc(), DSAStack)) in ActOnOpenMPAllocatorClause()
16566 DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPAllocatorClause()
16611 Context, NumForLoops, NumForLoops ? DSAStack->getAssociatedLoops() : 0, in ActOnOpenMPOrderedClause()
16613 DSAStack->setOrderedRegion(/*IsOrdered=*/true, NumForLoops, Clause); in ActOnOpenMPOrderedClause()
16769 DSAStack->setDefaultDSANone(KindKwLoc); in ActOnOpenMPDefaultClause()
16772 DSAStack->setDefaultDSAShared(KindKwLoc); in ActOnOpenMPDefaultClause()
16775 DSAStack->setDefaultDSAFirstPrivate(KindKwLoc); in ActOnOpenMPDefaultClause()
16778 DSAStack->setDefaultDSAPrivate(KindKwLoc); in ActOnOpenMPDefaultClause()
16901 DSAStack->setRegionHasOrderConcurrent(/*HasOrderConcurrent=*/true); in ActOnOpenMPOrderClause()
16902 if (DSAStack->getCurScope()) { in ActOnOpenMPOrderClause()
16904 unsigned existingFlags = DSAStack->getCurScope()->getFlags(); in ActOnOpenMPOrderClause()
16905 DSAStack->getCurScope()->setFlags(existingFlags | in ActOnOpenMPOrderClause()
16947 DSAStack->setAssociatedLoops(SizeExprs.size()); in ActOnOpenMPSizesClause()
17227 DSAStack->getCurrentDirective(), OMPC_schedule, in ActOnOpenMPScheduleClause()
17392 DSAStack->setNowaitRegion(); in ActOnOpenMPNowaitClause()
17398 DSAStack->setUntiedRegion(); in ActOnOpenMPUntiedClause()
17689 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNovariantsClause()
17720 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNocontextClause()
17742 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPFilterClause()
18016 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause()
18020 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
18024 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPPrivateClause()
18050 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPPrivateClause()
18061 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
18089 VarDecl *VD = FD ? DSAStack->getImplicitFDCapExprDecl(FD) : nullptr; in ActOnOpenMPPrivateClause()
18097 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_private, Ref); in ActOnOpenMPPrivateClause()
18121 SourceLocation ImplicitClauseLoc = DSAStack->getConstructLoc(); in ActOnOpenMPFirstprivateClause()
18161 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPFirstprivateClause()
18163 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPFirstprivateClause()
18179 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18199 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18222 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
18230 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18246 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
18263 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18280 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPFirstprivateClause()
18291 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
18292 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18300 isOpenMPTaskingDirective(DSAStack->getCurrentDirective())) { in ActOnOpenMPFirstprivateClause()
18303 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
18371 VarDecl *VD = FD ? DSAStack->getImplicitFDCapExprDecl(FD) : nullptr; in ActOnOpenMPFirstprivateClause()
18382 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPFirstprivateClause()
18469 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPLastprivateClause()
18478 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause()
18486 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18500 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
18505 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18555 BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, SimpleRefExpr, in ActOnOpenMPLastprivateClause()
18563 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_lastprivate, Ref); in ActOnOpenMPLastprivateClause()
18609 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause()
18614 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
18621 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_shared, Ref); in ActOnOpenMPSharedClause()
19801 (DSAStack->getCurrentDirective() != OMPD_for && in ActOnOpenMPReductionClause()
19802 DSAStack->getCurrentDirective() != OMPD_for_simd && in ActOnOpenMPReductionClause()
19803 DSAStack->getCurrentDirective() != OMPD_simd && in ActOnOpenMPReductionClause()
19804 DSAStack->getCurrentDirective() != OMPD_parallel_for && in ActOnOpenMPReductionClause()
19805 DSAStack->getCurrentDirective() != OMPD_parallel_for_simd)) { in ActOnOpenMPReductionClause()
19811 if (actOnOMPReductionKindClause(*this, DSAStack, OMPC_reduction, VarList, in ActOnOpenMPReductionClause()
19832 if (actOnOMPReductionKindClause(*this, DSAStack, OMPC_task_reduction, VarList, in ActOnOpenMPTaskReductionClause()
19852 if (actOnOMPReductionKindClause(*this, DSAStack, OMPC_in_reduction, VarList, in ActOnOpenMPInReductionClause()
19952 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause()
19956 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
19983 BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, in ActOnOpenMPLinearClause()
20000 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_linear, Ref); in ActOnOpenMPLinearClause()
20194 if (const Expr *PrevRef = DSAStack->addUniqueAligned(D, SimpleRefExpr)) { in ActOnOpenMPAlignedClause()
20275 if (!DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyinClause()
20309 DSAStack->addDSA(VD, DE, OMPC_copyin); in ActOnOpenMPCopyinClause()
20354 if (!VD || !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyprivateClause()
20356 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPCopyprivateClause()
20362 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
20370 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
20375 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
20385 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPCopyprivateClause()
20409 DSAStack->getCurScope(), ELoc, BO_Assign, PseudoDstExpr, PseudoSrcExpr); in ActOnOpenMPCopyprivateClause()
20468 bool OMPDependTFound = findOMPDependT(*this, StartLoc, DSAStack); in ActOnOpenMPDepobjClause()
20476 !Context.typesAreCompatible(DSAStack->getOMPDependT(), Depobj->getType(), in ActOnOpenMPDepobjClause()
20497 if (DSAStack->getCurrentDirective() == OMPD_ordered && in ActOnOpenMPDependClause()
20503 if (DSAStack->getCurrentDirective() == OMPD_taskwait && in ActOnOpenMPDependClause()
20508 if ((DSAStack->getCurrentDirective() != OMPD_ordered || in ActOnOpenMPDependClause()
20509 DSAStack->getCurrentDirective() == OMPD_depobj) && in ActOnOpenMPDependClause()
20513 DSAStack->getCurrentDirective() == OMPD_depobj) && in ActOnOpenMPDependClause()
20518 if (LangOpts.OpenMP < 50 || DSAStack->getCurrentDirective() == OMPD_depobj) in ActOnOpenMPDependClause()
20548 DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPDependClause()
20564 if (DSAStack->getParentOrderedRegionParam().first && in ActOnOpenMPDependClause()
20629 DSAStack->getParentOrderedRegionParam().first && in ActOnOpenMPDependClause()
20630 DepCounter != DSAStack->isParentLoopControlVariable(D).first) { in ActOnOpenMPDependClause()
20632 DSAStack->getParentLoopControlVariable(DepCounter.getZExtValue()); in ActOnOpenMPDependClause()
20644 OMPDependTFound = findOMPDependT(*this, StartLoc, DSAStack, in ActOnOpenMPDependClause()
20654 !Context.hasSameUnqualifiedType(DSAStack->getOMPDependT(), in ActOnOpenMPDependClause()
20700 DSAStack->getOMPDependT().getTypePtr() == ExprTy.getTypePtr()))) { in ActOnOpenMPDependClause()
20737 DSAStack->getParentOrderedRegionParam().first && in ActOnOpenMPDependClause()
20738 DSAStack->getParentLoopControlVariable(VarList.size() + 1)) { in ActOnOpenMPDependClause()
20740 << 1 << DSAStack->getParentLoopControlVariable(VarList.size() + 1); in ActOnOpenMPDependClause()
20752 DSAStack->isParentOrderedRegion()) in ActOnOpenMPDependClause()
20753 DSAStack->addDoacrossDependClause(C, OpsOffs); in ActOnOpenMPDependClause()
20789 if (!DSAStack->hasRequiresDeclWithClause<OMPReverseOffloadClause>()) { in ActOnOpenMPDeviceClause()
20797 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPDeviceClause()
22035 checkMappableExpressionList(*this, DSAStack, OMPC_map, MVLI, Locs.StartLoc, in ActOnOpenMPMapClause()
22403 processImplicitMapsWithDefaultMappers(*this, DSAStack, ClausesWithImplicit); in ActOnOpenMPDeclareMapperDirective()
22436 DSAStack->addDeclareMapperVarRef(E); in ActOnOpenMPDeclareMapperDirectiveVarDecl()
22441 if (DSAStack->getDeclareMapperVarRef()) in ActOnOpenMPIteratorVarDecl()
22442 DSAStack->addIteratorVarDecl(VD); in ActOnOpenMPIteratorVarDecl()
22447 const Expr *Ref = DSAStack->getDeclareMapperVarRef(); in isOpenMPDeclareMapperVarDeclAllowed()
22453 if (LangOpts.OpenMP >= 52 && DSAStack->isIteratorVarDecl(VD)) in isOpenMPDeclareMapperVarDeclAllowed()
22462 return cast<DeclRefExpr>(DSAStack->getDeclareMapperVarRef())->getDecl(); in getOpenMPDeclareMapperVarName()
22478 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNumTeamsClause()
22505 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPThreadLimitClause()
22532 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPPriorityClause()
22564 DSAStack->getCurrentDirective(), in ActOnOpenMPGrainsizeClause()
22598 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPNumTasksClause()
22642 if (!findOMPEventHandleT(*this, Evt->getExprLoc(), DSAStack)) in ActOnOpenMPDetachClause()
22658 if (!Context.hasSameUnqualifiedType(DSAStack->getOMPEventHandleT(), in ActOnOpenMPDetachClause()
22669 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false); in ActOnOpenMPDetachClause()
22675 reportOriginalDsa(*this, DSAStack, VD, DVar); in ActOnOpenMPDetachClause()
22721 DSAStack->getCurrentDirective(), OMPC_dist_schedule, in ActOnOpenMPDistScheduleClause()
22805 if (DSAStack->checkDefaultmapCategory(Kind)) { in ActOnOpenMPDefaultmapClause()
22812 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_aggregate, StartLoc); in ActOnOpenMPDefaultmapClause()
22813 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_scalar, StartLoc); in ActOnOpenMPDefaultmapClause()
22814 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_pointer, StartLoc); in ActOnOpenMPDefaultmapClause()
22816 DSAStack->setDefaultDMAAttr(M, Kind, StartLoc); in ActOnOpenMPDefaultmapClause()
22999 if (DSAStack->isThreadPrivate(VD)) { in checkDeclIsAllowedInOpenMPTarget()
23001 reportOriginalDsa(*this, DSAStack, VD, DSAStack->getTopDSA(VD, false)); in checkDeclIsAllowedInOpenMPTarget()
23020 !checkValueDeclInTarget(SL, SR, *this, DSAStack, VD)) in checkDeclIsAllowedInOpenMPTarget()
23083 checkMappableExpressionList(*this, DSAStack, OMPC_to, MVLI, Locs.StartLoc, in ActOnOpenMPToClause()
23120 checkMappableExpressionList(*this, DSAStack, OMPC_from, MVLI, Locs.StartLoc, in ActOnOpenMPFromClause()
23198 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPUseDevicePtrClause()
23246 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPUseDeviceAddrClause()
23296 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause()
23301 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPIsDevicePtrClause()
23302 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()
23307 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPIsDevicePtrClause()
23325 DSAStack->addMappableExpressionComponents( in ActOnOpenMPIsDevicePtrClause()
23371 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPHasDeviceAddrClause()
23376 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPHasDeviceAddrClause()
23377 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPHasDeviceAddrClause()
23382 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPHasDeviceAddrClause()
23405 DSAStack->addMappableExpressionComponents( in ActOnOpenMPHasDeviceAddrClause()
23443 if (!findOMPAllocatorHandleT(*this, Allocator->getExprLoc(), DSAStack)) in ActOnOpenMPAllocateClause()
23450 DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPAllocateClause()
23463 !DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>()) in ActOnOpenMPAllocateClause()
23495 DSAStack->addInnerAllocatorExpr(Allocator); in ActOnOpenMPAllocateClause()
23521 DSAStack->addUniqueNontemporal(D, SimpleRefExpr)) { in ActOnOpenMPNontemporalClause()
23559 DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPInclusiveClause()
23568 if (DSAStack->getParentDirective() != OMPD_unknown) in ActOnOpenMPInclusiveClause()
23569 DSAStack->markDeclAsUsedInScanDirective(D); in ActOnOpenMPInclusiveClause()
23598 OpenMPDirectiveKind ParentDirective = DSAStack->getParentDirective(); in ActOnOpenMPExclusiveClause()
23601 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPExclusiveClause()
23611 DSAStack->markDeclAsUsedInScanDirective(D); in ActOnOpenMPExclusiveClause()
23642 if (!findOMPAllocatorHandleT(*this, StartLoc, DSAStack)) in ActOnOpenMPUsesAllocatorClause()
23649 !findOMPAlloctraitT(*this, StartLoc, DSAStack)) in ActOnOpenMPUsesAllocatorClause()
23675 getAllocatorKind(*this, DSAStack, AllocatorExpr); in ActOnOpenMPUsesAllocatorClause()
23680 QualType OMPAllocatorHandleT = DSAStack->getOMPAllocatorHandleT(); in ActOnOpenMPUsesAllocatorClause()
23721 DSAStack->addUsesAllocatorsDecl( in ActOnOpenMPUsesAllocatorClause()
23745 DSAStack->getOMPAlloctraitT()) || in ActOnOpenMPUsesAllocatorClause()
23746 Context.typesAreCompatible(TraitTy, DSAStack->getOMPAlloctraitT(), in ActOnOpenMPUsesAllocatorClause()
23756 DSAStack->addUsesAllocatorsDecl( in ActOnOpenMPUsesAllocatorClause()
23841 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPXDynCGroupMemClause()