Lines Matching refs:DSAStack
1974 #define DSAStack static_cast<DSAStackTy *>(VarDataSharingAttributesStack) macro
1976 void Sema::pushOpenMPFunctionRegion() { DSAStack->pushFunction(); } in pushOpenMPFunctionRegion()
1979 DSAStack->popFunction(OldFSI); in popOpenMPFunctionRegion()
2088 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, Level)) { in isOpenMPCapturedByRef()
2151 DSAStack->checkMappableExprComponentListsForDeclAtLevel( in isOpenMPCapturedByRef()
2196 IsByRef = (DSAStack->isForceCaptureByReferenceInTargetExecutable() && in isOpenMPCapturedByRef()
2199 DSAStack->isDefaultmapCapturedByRef( in isOpenMPCapturedByRef()
2201 DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2213 DSAStack->getCaptureRegion(Level, OpenMPCaptureLevel) == in isOpenMPCapturedByRef()
2215 !(DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2222 DSAStack->isUsesAllocatorsDecl(Level, D))) && in isOpenMPCapturedByRef()
2229 !((DSAStack->getDefaultDSA() == DSA_firstprivate || in isOpenMPCapturedByRef()
2230 DSAStack->getDefaultDSA() == DSA_private) && in isOpenMPCapturedByRef()
2231 !DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2234 !DSAStack->isLoopControlVariable(D, Level).first); in isOpenMPCapturedByRef()
2253 return DSAStack->getNestingLevel(); in getOpenMPNestingLevel()
2257 return isOpenMPTaskingDirective(DSAStack->getCurrentDirective()) && in isInOpenMPTaskUntiedContext()
2258 DSAStack->isUntiedRegion(); in isInOpenMPTaskUntiedContext()
2262 return (isOpenMPTargetExecutionDirective(DSAStack->getCurrentDirective()) && in isInOpenMPTargetExecutionDirective()
2263 !DSAStack->isClauseParsingMode()) || in isInOpenMPTargetExecutionDirective()
2264 DSAStack->hasDirective( in isInOpenMPTargetExecutionDirective()
2276 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPRebuildMemberExpr()
2284 DSAStack->isClauseParsingMode()); in isOpenMPRebuildMemberExpr()
2310 *DSAStack, CheckScopeInfo && DSAStack->isBodyComplete()); in isOpenMPCapturedDecl()
2319 DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2342 DSAStack->getDirective(CSI->OpenMPLevel)); in isOpenMPCapturedDecl()
2372 if (DSAStack->getCurrentDirective() != OMPD_unknown && in isOpenMPCapturedDecl()
2373 (!DSAStack->isClauseParsingMode() || in isOpenMPCapturedDecl()
2374 DSAStack->getParentDirective() != OMPD_unknown)) { in isOpenMPCapturedDecl()
2375 auto &&Info = DSAStack->isLoopControlVariable(D); in isOpenMPCapturedDecl()
2378 isImplicitOrExplicitTaskingRegion(DSAStack->getCurrentDirective())) || in isOpenMPCapturedDecl()
2379 (VD && DSAStack->isForceVarCapturing())) in isOpenMPCapturedDecl()
2382 DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2391 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPCapturedDecl()
2397 DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2400 ((DSAStack->getDefaultDSA() != DSA_none && in isOpenMPCapturedDecl()
2401 DSAStack->getDefaultDSA() != DSA_private && in isOpenMPCapturedDecl()
2402 DSAStack->getDefaultDSA() != DSA_firstprivate) || in isOpenMPCapturedDecl()
2408 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPCapturedDecl()
2417 DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2421 VarDecl *VD = DSAStack->getImplicitFDCapExprDecl(FD); in isOpenMPCapturedDecl()
2441 DSAStack->addImplicitDefaultFirstprivateFD(FD, VD); in isOpenMPCapturedDecl()
2445 (VD && (DSAStack->getDefaultDSA() == DSA_none || in isOpenMPCapturedDecl()
2446 DSAStack->getDefaultDSA() == DSA_private || in isOpenMPCapturedDecl()
2447 DSAStack->getDefaultDSA() == DSA_firstprivate))) in isOpenMPCapturedDecl()
2455 FunctionScopesIndex -= getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in adjustOpenMPTargetScopeIndex()
2460 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) in startOpenMPLoop()
2461 DSAStack->loopInit(); in startOpenMPLoop()
2466 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in startOpenMPCXXRangeFor()
2467 DSAStack->resetPossibleLoopCounter(); in startOpenMPCXXRangeFor()
2468 DSAStack->loopStart(); in startOpenMPCXXRangeFor()
2475 if (DSAStack->getCurrentDirective() != OMPD_unknown && in isOpenMPPrivateDecl()
2476 (!DSAStack->isClauseParsingMode() || in isOpenMPPrivateDecl()
2477 DSAStack->getParentDirective() != OMPD_unknown)) { in isOpenMPPrivateDecl()
2478 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPPrivateDecl()
2486 DSAStack->isClauseParsingMode()); in isOpenMPPrivateDecl()
2488 DSAStack->isImplicitDefaultFirstprivateFD(cast<VarDecl>(D)) && in isOpenMPPrivateDecl()
2489 !DSAStack->isLoopControlVariable(D).first) in isOpenMPPrivateDecl()
2492 if (DSAStack->hasExplicitDirective(isOpenMPTaskingDirective, Level)) { in isOpenMPPrivateDecl()
2499 OpenMPDirectiveKind DKind = DSAStack->getDirective(Level); in isOpenMPPrivateDecl()
2505 if (DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2510 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPPrivateDecl()
2512 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) { in isOpenMPPrivateDecl()
2513 DSAStack->addImplicitTaskFirstprivate(Level, D); in isOpenMPPrivateDecl()
2518 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in isOpenMPPrivateDecl()
2519 if (DSAStack->getAssociatedLoops() > 0 && !DSAStack->isLoopStarted()) { in isOpenMPPrivateDecl()
2520 DSAStack->resetPossibleLoopCounter(D); in isOpenMPPrivateDecl()
2521 DSAStack->loopStart(); in isOpenMPPrivateDecl()
2524 if ((DSAStack->getPossiblyLoopCunter() == D->getCanonicalDecl() || in isOpenMPPrivateDecl()
2525 DSAStack->isLoopControlVariable(D).first) && in isOpenMPPrivateDecl()
2526 !DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2529 !isOpenMPSimdDirective(DSAStack->getCurrentDirective())) in isOpenMPPrivateDecl()
2533 if (DSAStack->isThreadPrivate(const_cast<VarDecl *>(VD)) && in isOpenMPPrivateDecl()
2534 DSAStack->isForceVarCapturing() && in isOpenMPPrivateDecl()
2535 !DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2542 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, Level) && in isOpenMPPrivateDecl()
2543 DSAStack->isUsesAllocatorsDecl(Level, D).value_or( in isOpenMPPrivateDecl()
2547 return (DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2550 (DSAStack->isClauseParsingMode() && in isOpenMPPrivateDecl()
2551 DSAStack->getClauseParsingMode() == OMPC_private) || in isOpenMPPrivateDecl()
2554 (DSAStack->hasExplicitDirective( in isOpenMPPrivateDecl()
2562 DSAStack->isTaskgroupReductionRef(D, Level))) in isOpenMPPrivateDecl()
2572 for (unsigned I = DSAStack->getNestingLevel() + 1; I > Level; --I) { in setOpenMPCaptureKind()
2574 if (DSAStack->hasExplicitDSA( in setOpenMPCaptureKind()
2585 if (DSAStack->checkMappableExprComponentListsForDeclAtLevel( in setOpenMPCaptureKind()
2592 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, in setOpenMPCaptureKind()
2595 if (DSAStack->mustBeFirstprivateAtLevel( in setOpenMPCaptureKind()
2611 getOpenMPCaptureRegions(Regions, DSAStack->getDirective(Level)); in isOpenMPTargetCapturedDecl()
2614 DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, in isOpenMPTargetCapturedDecl()
2629 DSAStack->getTopDSA(D, /*FromParent=*/false); in isOpenMPGlobalCapturedDecl()
2631 getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in isOpenMPGlobalCapturedDecl()
2637 DSAStack->getDefaultDSA() == DSA_firstprivate)); in isOpenMPGlobalCapturedDecl()
2640 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPGlobalCapturedDecl()
2649 void Sema::DestroyDataSharingAttributesStack() { delete DSAStack; } in DestroyDataSharingAttributesStack()
2705 DSAStack->push(DKind, DirName, CurScope, Loc); in StartOpenMPDSABlock()
2711 DSAStack->setClauseParsingMode(K); in StartOpenMPClause()
2715 DSAStack->setClauseParsingMode(/*K=*/OMPC_unknown); in EndOpenMPClause()
2818 DSAStack->getTopDSA(VD, /*FromParent=*/false); in EndOpenMPDSABlock()
2861 DSAStack->getTopDSA(D, /*FromParent=*/false); in EndOpenMPDSABlock()
2878 DSAStack->getTopDSA(VD, /*FromParent=*/false); in EndOpenMPDSABlock()
2885 DSAStack->checkMappableExprComponentListsForDecl( in EndOpenMPDSABlock()
2905 reportOriginalDsa(*this, DSAStack, VD, DVar); in EndOpenMPDSABlock()
2916 checkAllocateClauses(*this, DSAStack, D->clauses()); in EndOpenMPDSABlock()
2917 checkReductionClauses(*this, DSAStack, D->clauses()); in EndOpenMPDSABlock()
2920 DSAStack->pop(); in EndOpenMPDSABlock()
3089 !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPIdExpression()
3208 DSAStack->addDSA(VD, DE, OMPC_threadprivate); in CheckOMPThreadPrivateDecl()
3334 !DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>()) in ActOnOpenMPAllocateDirective()
3346 getAllocatorKind(*this, DSAStack, Allocator); in ActOnOpenMPAllocateDirective()
3361 if (checkPreviousOMPAllocateAttribute(*this, DSAStack, RefExpr, VD, in ActOnOpenMPAllocateDirective()
3407 DSAStack->addRequiresDecl(D); in ActOnOpenMPRequiresDirective()
3476 DSAStack->getEncounteredTargetLocs(); in CheckOMPRequiresDecl()
3477 SourceLocation AtomicLoc = DSAStack->getAtomicDirectiveLoc(); in CheckOMPRequiresDecl()
3501 if (!DSAStack->hasDuplicateRequiresClause(ClauseList)) in CheckOMPRequiresDecl()
4136 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4166 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4178 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4187 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4211 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4219 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4249 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4272 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4319 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4351 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4372 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4394 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4419 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4431 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4440 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4452 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4468 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4485 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4497 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4522 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
4557 DSAStack->setContext(CurContext); in ActOnOpenMPRegionStart()
4558 handleDeclareVariantConstructTrait(DSAStack, DKind, /* ScopeEntry */ true); in ActOnOpenMPRegionStart()
4562 return getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in getNumberOfConstructScopes()
4668 (isOpenMPTargetExecutionDirective(DSAStack->getCurrentDirective()) || in tryCaptureOpenMPLambdas()
4670 DSAStack->getCurrentDirective()))) { in tryCaptureOpenMPLambdas()
4676 DSAStack->isForceCaptureByReferenceInTargetExecutable(); in tryCaptureOpenMPLambdas()
4677 DSAStack->setForceCaptureByReferenceInTargetExecutable( in tryCaptureOpenMPLambdas()
4698 DSAStack->setForceCaptureByReferenceInTargetExecutable( in tryCaptureOpenMPLambdas()
4736 handleDeclareVariantConstructTrait(DSAStack, DSAStack->getCurrentDirective(), in ActOnOpenMPRegionEnd()
4738 if (DSAStack->getCurrentDirective() == OMPD_atomic || in ActOnOpenMPRegionEnd()
4739 DSAStack->getCurrentDirective() == OMPD_critical || in ActOnOpenMPRegionEnd()
4740 DSAStack->getCurrentDirective() == OMPD_section || in ActOnOpenMPRegionEnd()
4741 DSAStack->getCurrentDirective() == OMPD_master || in ActOnOpenMPRegionEnd()
4742 DSAStack->getCurrentDirective() == OMPD_masked) in ActOnOpenMPRegionEnd()
4747 *this, ErrorFound, DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4754 getOpenMPCaptureRegions(CaptureRegions, DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4762 (isOpenMPTaskingDirective(DSAStack->getCurrentDirective()) || in ActOnOpenMPRegionEnd()
4763 DSAStack->getCurrentDirective() == OMPD_target) && in ActOnOpenMPRegionEnd()
4777 DSAStack->setForceVarCapturing(Clause->getClauseKind() == OMPC_copyin); in ActOnOpenMPRegionEnd()
4784 DSAStack->setForceVarCapturing(/*V=*/false); in ActOnOpenMPRegionEnd()
4786 DSAStack->getCurrentDirective())) { in ActOnOpenMPRegionEnd()
4806 for (Expr *E : DSAStack->getInnerAllocators()) in ActOnOpenMPRegionEnd()
4838 if (isOpenMPWorksharingDirective(DSAStack->getCurrentDirective()) && in ActOnOpenMPRegionEnd()
4839 isOpenMPSimdDirective(DSAStack->getCurrentDirective()) && OC && in ActOnOpenMPRegionEnd()
4842 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4903 DSAStack->setBodyComplete(); in ActOnOpenMPRegionEnd()
6046 checkNestingOfRegions(*this, DSAStack, Kind, DirName, CancelRegion, in ActOnOpenMPExecutableDirective()
6060 DSAAttrChecker DSAChecker(DSAStack, *this, cast<CapturedStmt>(AStmt)); in ActOnOpenMPExecutableDirective()
6201 processImplicitMapsWithDefaultMappers(*this, DSAStack, in ActOnOpenMPExecutableDirective()
6603 if (DSAStack->getDefaultDSA() == DSA_none || in ActOnOpenMPExecutableDirective()
6604 DSAStack->getDefaultDSA() == DSA_private || in ActOnOpenMPExecutableDirective()
6605 DSAStack->getDefaultDSA() == DSA_firstprivate) { in ActOnOpenMPExecutableDirective()
6606 DSAAttrChecker DSAChecker(DSAStack, *this, nullptr); in ActOnOpenMPExecutableDirective()
6724 if (DSAStack->getDefaultDSA() == DSA_none || in ActOnOpenMPExecutableDirective()
6725 DSAStack->getDefaultDSA() == DSA_private || in ActOnOpenMPExecutableDirective()
6726 DSAStack->getDefaultDSA() == DSA_firstprivate) { in ActOnOpenMPExecutableDirective()
6729 Diag(DSAStack->getDefaultDSALocation(), diag::note_omp_default_dsa_none); in ActOnOpenMPExecutableDirective()
6734 Diag(DSAStack->getDefaultDSALocation(), in ActOnOpenMPExecutableDirective()
6748 !(DSAStack->hasRequiresDeclWithClause<OMPUnifiedSharedMemoryClause>() || in ActOnOpenMPExecutableDirective()
6749 DSAStack->hasRequiresDeclWithClause<OMPUnifiedAddressClause>() || in ActOnOpenMPExecutableDirective()
6750 DSAStack->hasRequiresDeclWithClause<OMPReverseOffloadClause>() || in ActOnOpenMPExecutableDirective()
6751 DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>())) { in ActOnOpenMPExecutableDirective()
6753 DSAStack->addTargetDirLocation(StartLoc); in ActOnOpenMPExecutableDirective()
7194 getCurFunctionDecl(), DSAStack->getConstructTraits()); in ActOnOpenMPCall()
7667 DSAStack->getTaskgroupReductionRef(), in ActOnOpenMPParallelDirective()
7668 DSAStack->isCancelRegion()); in ActOnOpenMPParallelDirective()
9004 unsigned AssociatedLoops = DSAStack->getAssociatedLoops(); in ActOnOpenMPLoopInitialization()
9006 isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in ActOnOpenMPLoopInitialization()
9007 DSAStack->loopStart(); in ActOnOpenMPLoopInitialization()
9009 *DSAStack, ForLoc); in ActOnOpenMPLoopInitialization()
9023 DSAStack->addLoopControlVariable(D, VD); in ActOnOpenMPLoopInitialization()
9024 const Decl *LD = DSAStack->getPossiblyLoopCunter(); in ActOnOpenMPLoopInitialization()
9026 DSAStack->resetPossibleLoopCounter(); in ActOnOpenMPLoopInitialization()
9033 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPLoopInitialization()
9042 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLoopInitialization()
9048 ? (DSAStack->hasMutipleLoops() ? OMPC_lastprivate : OMPC_linear) in ActOnOpenMPLoopInitialization()
9068 reportOriginalDsa(*this, DSAStack, D, DVar, in ActOnOpenMPLoopInitialization()
9076 DSAStack->addDSA(D, LoopDeclRefExpr, PredeterminedCKind, in ActOnOpenMPLoopInitialization()
9081 DSAStack->setAssociatedLoops(AssociatedLoops - 1); in ActOnOpenMPLoopInitialization()
10206 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPSimdDirective()
10219 DSAStack)) in ActOnOpenMPSimdDirective()
10245 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPForDirective()
10258 DSAStack)) in ActOnOpenMPForDirective()
10266 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPForDirective()
10281 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPForSimdDirective()
10295 DSAStack)) in ActOnOpenMPForSimdDirective()
10333 ->setHasCancel(DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
10343 DSAStack->getTaskgroupReductionRef(), in ActOnOpenMPSectionsDirective()
10344 DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
10354 DSAStack->setParentCancelRegion(DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
10357 DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
10452 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_loop, DSAStack)) in ActOnOpenMPGenericLoopDirective()
10467 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPGenericLoopDirective()
10488 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_teams_loop, DSAStack)) in ActOnOpenMPTeamsGenericLoopDirective()
10513 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPTeamsGenericLoopDirective()
10522 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsGenericLoopDirective()
10538 DSAStack)) in ActOnOpenMPTargetTeamsGenericLoopDirective()
10563 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsGenericLoopDirective()
10586 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_parallel_loop, DSAStack)) in ActOnOpenMPParallelGenericLoopDirective()
10611 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelGenericLoopDirective()
10635 DSAStack)) in ActOnOpenMPTargetParallelGenericLoopDirective()
10660 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPTargetParallelGenericLoopDirective()
10756 const auto Pair = DSAStack->getCriticalWithHint(DirName); in ActOnOpenMPCriticalDirective()
10781 DSAStack->addCriticalWithHint(Dir, Hint); in ActOnOpenMPCriticalDirective()
10804 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPParallelForDirective()
10818 DSAStack)) in ActOnOpenMPParallelForDirective()
10826 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelForDirective()
10848 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPParallelForSimdDirective()
10859 DSAStack)) in ActOnOpenMPParallelForSimdDirective()
10892 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPParallelMasterDirective()
10915 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPParallelMaskedDirective()
10943 ->setHasCancel(DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
10955 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
11005 DSAStack->isCancelRegion()); in ActOnOpenMPTaskDirective()
11037 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPTaskgroupDirective()
11111 if (Scope *S = DSAStack->getCurScope()) { in ActOnOpenMPScanDirective()
11120 if (DSAStack->doesParentHasScanDirective()) { in ActOnOpenMPScanDirective()
11122 Diag(DSAStack->getParentScanDirectiveLoc(), in ActOnOpenMPScanDirective()
11127 DSAStack->setParentHasScanDirective(StartLoc); in ActOnOpenMPScanDirective()
11173 isOpenMPSimdDirective(DSAStack->getParentDirective())) { in ActOnOpenMPOrderedDirective()
11184 } else if (DependFound && !DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPOrderedDirective()
11189 if (const Expr *Param = DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPOrderedDirective()
11206 if (DSAStack->doesParentHasOrderedDirective()) { in ActOnOpenMPOrderedDirective()
11208 Diag(DSAStack->getParentOrderedDirectiveLoc(), in ActOnOpenMPOrderedDirective()
11213 DSAStack->setParentHasOrderedDirective(StartLoc); in ActOnOpenMPOrderedDirective()
12262 DSAStack->addAtomicDirectiveLoc(StartLoc); in ActOnOpenMPAtomicDirective()
12830 if (DSAStack->hasInnerTeamsRegion()) { in ActOnOpenMPTargetDirective()
12853 Diag(DSAStack->getInnerTeamsRegionLoc(), in ActOnOpenMPTargetDirective()
12895 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetParallelDirective()
12927 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, in ActOnOpenMPTargetParallelForDirective()
12941 DSAStack)) in ActOnOpenMPTargetParallelForDirective()
12949 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetParallelForDirective()
13144 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDirective()
13153 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancellationPointDirective()
13157 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancellationPointDirective()
13169 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancelDirective()
13173 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancelDirective()
13177 DSAStack->setParentCancelRegion(/*Cancel=*/true); in ActOnOpenMPCancelDirective()
13221 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPTaskLoopDirective()
13244 DSAStack->isCancelRegion()); in ActOnOpenMPTaskLoopDirective()
13259 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPTaskLoopSimdDirective()
13273 DSAStack)) in ActOnOpenMPTaskLoopSimdDirective()
13309 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMasterTaskLoopDirective()
13332 DSAStack->isCancelRegion()); in ActOnOpenMPMasterTaskLoopDirective()
13347 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMaskedTaskLoopDirective()
13370 DSAStack->isCancelRegion()); in ActOnOpenMPMaskedTaskLoopDirective()
13385 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMasterTaskLoopSimdDirective()
13399 DSAStack)) in ActOnOpenMPMasterTaskLoopSimdDirective()
13435 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPMaskedTaskLoopSimdDirective()
13449 DSAStack)) in ActOnOpenMPMaskedTaskLoopSimdDirective()
13504 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMasterTaskLoopDirective()
13527 DSAStack->isCancelRegion()); in ActOnOpenMPParallelMasterTaskLoopDirective()
13561 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMaskedTaskLoopDirective()
13584 DSAStack->isCancelRegion()); in ActOnOpenMPParallelMaskedTaskLoopDirective()
13618 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13632 DSAStack)) in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13687 /*OrderedLoopCountExpr=*/nullptr, CS, *this, *DSAStack, in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13701 DSAStack)) in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13738 *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeDirective()
13780 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPDistributeParallelForDirective()
13791 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPDistributeParallelForDirective()
13824 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPDistributeParallelForSimdDirective()
13838 DSAStack)) in ActOnOpenMPDistributeParallelForSimdDirective()
13881 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeSimdDirective()
13894 DSAStack)) in ActOnOpenMPDistributeSimdDirective()
13936 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, VarsWithImplicitDSA, in ActOnOpenMPTargetParallelForSimdDirective()
13950 DSAStack)) in ActOnOpenMPTargetParallelForSimdDirective()
13991 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, in ActOnOpenMPTargetSimdDirective()
14005 DSAStack)) in ActOnOpenMPTargetSimdDirective()
14048 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTeamsDistributeDirective()
14057 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeDirective()
14093 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTeamsDistributeSimdDirective()
14108 DSAStack)) in ActOnOpenMPTeamsDistributeSimdDirective()
14118 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeSimdDirective()
14155 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
14170 DSAStack)) in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
14180 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
14217 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTeamsDistributeParallelForDirective()
14228 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeParallelForDirective()
14232 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTeamsDistributeParallelForDirective()
14296 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsDistributeDirective()
14339 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
14353 DSAStack)) in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
14361 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
14396 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
14410 DSAStack)) in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
14453 nullptr /*ordered not a clause on distribute*/, CS, *this, *DSAStack, in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14467 DSAStack)) in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14493 checkOpenMPLoop(Kind, nullptr, nullptr, CurStmt, *this, *DSAStack, in checkTransformableLoopNest()
16089 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPIfClause()
16121 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPFinalClause()
16235 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNumThreadsClause()
16290 if (CKind == OMPC_collapse && DSAStack->getAssociatedLoops() == 1) in VerifyPositiveIntegerConstantInClause()
16291 DSAStack->setAssociatedLoops(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
16293 DSAStack->setAssociatedLoops(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
16372 if (!findOMPAllocatorHandleT(*this, A->getExprLoc(), DSAStack)) in ActOnOpenMPAllocatorClause()
16379 DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPAllocatorClause()
16424 Context, NumForLoops, NumForLoops ? DSAStack->getAssociatedLoops() : 0, in ActOnOpenMPOrderedClause()
16426 DSAStack->setOrderedRegion(/*IsOrdered=*/true, NumForLoops, Clause); in ActOnOpenMPOrderedClause()
16577 DSAStack->setDefaultDSANone(KindKwLoc); in ActOnOpenMPDefaultClause()
16580 DSAStack->setDefaultDSAShared(KindKwLoc); in ActOnOpenMPDefaultClause()
16583 DSAStack->setDefaultDSAFirstPrivate(KindKwLoc); in ActOnOpenMPDefaultClause()
16586 DSAStack->setDefaultDSAPrivate(KindKwLoc); in ActOnOpenMPDefaultClause()
16690 DSAStack->setAssociatedLoops(SizeExprs.size()); in ActOnOpenMPSizesClause()
16949 DSAStack->getCurrentDirective(), OMPC_schedule, in ActOnOpenMPScheduleClause()
17110 DSAStack->setNowaitRegion(); in ActOnOpenMPNowaitClause()
17116 DSAStack->setUntiedRegion(); in ActOnOpenMPUntiedClause()
17409 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNovariantsClause()
17440 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNocontextClause()
17462 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPFilterClause()
17733 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause()
17737 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
17741 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPPrivateClause()
17767 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPPrivateClause()
17778 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
17806 VarDecl *VD = FD ? DSAStack->getImplicitFDCapExprDecl(FD) : nullptr; in ActOnOpenMPPrivateClause()
17814 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_private, Ref); in ActOnOpenMPPrivateClause()
17838 SourceLocation ImplicitClauseLoc = DSAStack->getConstructLoc(); in ActOnOpenMPFirstprivateClause()
17878 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPFirstprivateClause()
17880 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPFirstprivateClause()
17896 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17916 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17939 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
17947 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17963 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
17980 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17997 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPFirstprivateClause()
18008 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
18009 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18017 isOpenMPTaskingDirective(DSAStack->getCurrentDirective())) { in ActOnOpenMPFirstprivateClause()
18020 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
18088 VarDecl *VD = FD ? DSAStack->getImplicitFDCapExprDecl(FD) : nullptr; in ActOnOpenMPFirstprivateClause()
18099 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPFirstprivateClause()
18186 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPLastprivateClause()
18195 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause()
18203 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18217 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
18222 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18272 BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, SimpleRefExpr, in ActOnOpenMPLastprivateClause()
18280 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_lastprivate, Ref); in ActOnOpenMPLastprivateClause()
18326 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause()
18331 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
18338 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_shared, Ref); in ActOnOpenMPSharedClause()
19518 (DSAStack->getCurrentDirective() != OMPD_for && in ActOnOpenMPReductionClause()
19519 DSAStack->getCurrentDirective() != OMPD_for_simd && in ActOnOpenMPReductionClause()
19520 DSAStack->getCurrentDirective() != OMPD_simd && in ActOnOpenMPReductionClause()
19521 DSAStack->getCurrentDirective() != OMPD_parallel_for && in ActOnOpenMPReductionClause()
19522 DSAStack->getCurrentDirective() != OMPD_parallel_for_simd)) { in ActOnOpenMPReductionClause()
19528 if (actOnOMPReductionKindClause(*this, DSAStack, OMPC_reduction, VarList, in ActOnOpenMPReductionClause()
19549 if (actOnOMPReductionKindClause(*this, DSAStack, OMPC_task_reduction, VarList, in ActOnOpenMPTaskReductionClause()
19569 if (actOnOMPReductionKindClause(*this, DSAStack, OMPC_in_reduction, VarList, in ActOnOpenMPInReductionClause()
19669 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause()
19673 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
19700 BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, in ActOnOpenMPLinearClause()
19717 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_linear, Ref); in ActOnOpenMPLinearClause()
19911 if (const Expr *PrevRef = DSAStack->addUniqueAligned(D, SimpleRefExpr)) { in ActOnOpenMPAlignedClause()
19992 if (!DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyinClause()
20026 DSAStack->addDSA(VD, DE, OMPC_copyin); in ActOnOpenMPCopyinClause()
20071 if (!VD || !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyprivateClause()
20073 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPCopyprivateClause()
20079 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
20087 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
20092 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
20102 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPCopyprivateClause()
20126 DSAStack->getCurScope(), ELoc, BO_Assign, PseudoDstExpr, PseudoSrcExpr); in ActOnOpenMPCopyprivateClause()
20185 bool OMPDependTFound = findOMPDependT(*this, StartLoc, DSAStack); in ActOnOpenMPDepobjClause()
20193 !Context.typesAreCompatible(DSAStack->getOMPDependT(), Depobj->getType(), in ActOnOpenMPDepobjClause()
20214 if (DSAStack->getCurrentDirective() == OMPD_ordered && in ActOnOpenMPDependClause()
20220 if (DSAStack->getCurrentDirective() == OMPD_taskwait && in ActOnOpenMPDependClause()
20225 if ((DSAStack->getCurrentDirective() != OMPD_ordered || in ActOnOpenMPDependClause()
20226 DSAStack->getCurrentDirective() == OMPD_depobj) && in ActOnOpenMPDependClause()
20230 DSAStack->getCurrentDirective() == OMPD_depobj) && in ActOnOpenMPDependClause()
20235 if (LangOpts.OpenMP < 50 || DSAStack->getCurrentDirective() == OMPD_depobj) in ActOnOpenMPDependClause()
20265 DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPDependClause()
20281 if (DSAStack->getParentOrderedRegionParam().first && in ActOnOpenMPDependClause()
20346 DSAStack->getParentOrderedRegionParam().first && in ActOnOpenMPDependClause()
20347 DepCounter != DSAStack->isParentLoopControlVariable(D).first) { in ActOnOpenMPDependClause()
20349 DSAStack->getParentLoopControlVariable(DepCounter.getZExtValue()); in ActOnOpenMPDependClause()
20361 OMPDependTFound = findOMPDependT(*this, StartLoc, DSAStack, in ActOnOpenMPDependClause()
20371 !Context.hasSameUnqualifiedType(DSAStack->getOMPDependT(), in ActOnOpenMPDependClause()
20417 DSAStack->getOMPDependT().getTypePtr() == ExprTy.getTypePtr()))) { in ActOnOpenMPDependClause()
20454 DSAStack->getParentOrderedRegionParam().first && in ActOnOpenMPDependClause()
20455 DSAStack->getParentLoopControlVariable(VarList.size() + 1)) { in ActOnOpenMPDependClause()
20457 << 1 << DSAStack->getParentLoopControlVariable(VarList.size() + 1); in ActOnOpenMPDependClause()
20469 DSAStack->isParentOrderedRegion()) in ActOnOpenMPDependClause()
20470 DSAStack->addDoacrossDependClause(C, OpsOffs); in ActOnOpenMPDependClause()
20506 if (!DSAStack->hasRequiresDeclWithClause<OMPReverseOffloadClause>()) { in ActOnOpenMPDeviceClause()
20514 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPDeviceClause()
21744 checkMappableExpressionList(*this, DSAStack, OMPC_map, MVLI, Locs.StartLoc, in ActOnOpenMPMapClause()
22112 processImplicitMapsWithDefaultMappers(*this, DSAStack, ClausesWithImplicit); in ActOnOpenMPDeclareMapperDirective()
22145 DSAStack->addDeclareMapperVarRef(E); in ActOnOpenMPDeclareMapperDirectiveVarDecl()
22151 const Expr *Ref = DSAStack->getDeclareMapperVarRef(); in isOpenMPDeclareMapperVarDeclAllowed()
22164 return cast<DeclRefExpr>(DSAStack->getDeclareMapperVarRef())->getDecl(); in getOpenMPDeclareMapperVarName()
22180 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNumTeamsClause()
22207 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPThreadLimitClause()
22234 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPPriorityClause()
22255 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPGrainsizeClause()
22276 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPNumTasksClause()
22319 if (!findOMPEventHandleT(*this, Evt->getExprLoc(), DSAStack)) in ActOnOpenMPDetachClause()
22335 if (!Context.hasSameUnqualifiedType(DSAStack->getOMPEventHandleT(), in ActOnOpenMPDetachClause()
22346 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false); in ActOnOpenMPDetachClause()
22352 reportOriginalDsa(*this, DSAStack, VD, DVar); in ActOnOpenMPDetachClause()
22398 DSAStack->getCurrentDirective(), OMPC_dist_schedule, in ActOnOpenMPDistScheduleClause()
22482 if (DSAStack->checkDefaultmapCategory(Kind)) { in ActOnOpenMPDefaultmapClause()
22489 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_aggregate, StartLoc); in ActOnOpenMPDefaultmapClause()
22490 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_scalar, StartLoc); in ActOnOpenMPDefaultmapClause()
22491 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_pointer, StartLoc); in ActOnOpenMPDefaultmapClause()
22493 DSAStack->setDefaultDMAAttr(M, Kind, StartLoc); in ActOnOpenMPDefaultmapClause()
22675 if (DSAStack->isThreadPrivate(VD)) { in checkDeclIsAllowedInOpenMPTarget()
22677 reportOriginalDsa(*this, DSAStack, VD, DSAStack->getTopDSA(VD, false)); in checkDeclIsAllowedInOpenMPTarget()
22696 !checkValueDeclInTarget(SL, SR, *this, DSAStack, VD)) in checkDeclIsAllowedInOpenMPTarget()
22756 checkMappableExpressionList(*this, DSAStack, OMPC_to, MVLI, Locs.StartLoc, in ActOnOpenMPToClause()
22793 checkMappableExpressionList(*this, DSAStack, OMPC_from, MVLI, Locs.StartLoc, in ActOnOpenMPFromClause()
22871 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPUseDevicePtrClause()
22919 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPUseDeviceAddrClause()
22969 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause()
22974 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPIsDevicePtrClause()
22975 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()
22980 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPIsDevicePtrClause()
22998 DSAStack->addMappableExpressionComponents( in ActOnOpenMPIsDevicePtrClause()
23044 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPHasDeviceAddrClause()
23049 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPHasDeviceAddrClause()
23050 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPHasDeviceAddrClause()
23055 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPHasDeviceAddrClause()
23073 DSAStack->addMappableExpressionComponents( in ActOnOpenMPHasDeviceAddrClause()
23112 if (!findOMPAllocatorHandleT(*this, Allocator->getExprLoc(), DSAStack)) in ActOnOpenMPAllocateClause()
23119 DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPAllocateClause()
23132 !DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>()) in ActOnOpenMPAllocateClause()
23164 DSAStack->addInnerAllocatorExpr(Allocator); in ActOnOpenMPAllocateClause()
23190 DSAStack->addUniqueNontemporal(D, SimpleRefExpr)) { in ActOnOpenMPNontemporalClause()
23228 DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPInclusiveClause()
23237 if (DSAStack->getParentDirective() != OMPD_unknown) in ActOnOpenMPInclusiveClause()
23238 DSAStack->markDeclAsUsedInScanDirective(D); in ActOnOpenMPInclusiveClause()
23267 OpenMPDirectiveKind ParentDirective = DSAStack->getParentDirective(); in ActOnOpenMPExclusiveClause()
23270 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPExclusiveClause()
23280 DSAStack->markDeclAsUsedInScanDirective(D); in ActOnOpenMPExclusiveClause()
23311 if (!findOMPAllocatorHandleT(*this, StartLoc, DSAStack)) in ActOnOpenMPUsesAllocatorClause()
23318 !findOMPAlloctraitT(*this, StartLoc, DSAStack)) in ActOnOpenMPUsesAllocatorClause()
23346 AllocatorExpr->getType(), DSAStack->getOMPAllocatorHandleT()) || in ActOnOpenMPUsesAllocatorClause()
23348 DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPUsesAllocatorClause()
23381 DSAStack->addUsesAllocatorsDecl( in ActOnOpenMPUsesAllocatorClause()
23405 DSAStack->getOMPAlloctraitT()) || in ActOnOpenMPUsesAllocatorClause()
23406 Context.typesAreCompatible(TraitTy, DSAStack->getOMPAlloctraitT(), in ActOnOpenMPUsesAllocatorClause()
23416 DSAStack->addUsesAllocatorsDecl( in ActOnOpenMPUsesAllocatorClause()