Lines Matching refs:DSAStack

2030 #define DSAStack static_cast<DSAStackTy *>(VarDataSharingAttributesStack)  macro
2032 void SemaOpenMP::pushOpenMPFunctionRegion() { DSAStack->pushFunction(); } in pushOpenMPFunctionRegion()
2035 DSAStack->popFunction(OldFSI); in popOpenMPFunctionRegion()
2144 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, Level)) { in isOpenMPCapturedByRef()
2207 DSAStack->checkMappableExprComponentListsForDeclAtLevel( in isOpenMPCapturedByRef()
2256 IsByRef = (DSAStack->isForceCaptureByReferenceInTargetExecutable() && in isOpenMPCapturedByRef()
2259 DSAStack->isDefaultmapCapturedByRef( in isOpenMPCapturedByRef()
2261 DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2273 DSAStack->getCaptureRegion(Level, OpenMPCaptureLevel) == in isOpenMPCapturedByRef()
2275 !(DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2282 DSAStack->isUsesAllocatorsDecl(Level, D))) && in isOpenMPCapturedByRef()
2289 !((DSAStack->getDefaultDSA() == DSA_firstprivate || in isOpenMPCapturedByRef()
2290 DSAStack->getDefaultDSA() == DSA_private) && in isOpenMPCapturedByRef()
2291 !DSAStack->hasExplicitDSA( in isOpenMPCapturedByRef()
2294 !DSAStack->isLoopControlVariable(D, Level).first); in isOpenMPCapturedByRef()
2313 return DSAStack->getNestingLevel(); in getOpenMPNestingLevel()
2317 return isOpenMPTaskingDirective(DSAStack->getCurrentDirective()) && in isInOpenMPTaskUntiedContext()
2318 DSAStack->isUntiedRegion(); in isInOpenMPTaskUntiedContext()
2322 return (isOpenMPTargetExecutionDirective(DSAStack->getCurrentDirective()) && in isInOpenMPTargetExecutionDirective()
2323 !DSAStack->isClauseParsingMode()) || in isInOpenMPTargetExecutionDirective()
2324 DSAStack->hasDirective( in isInOpenMPTargetExecutionDirective()
2336 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPRebuildMemberExpr()
2344 DSAStack->isClauseParsingMode()); in isOpenMPRebuildMemberExpr()
2370 *DSAStack, CheckScopeInfo && DSAStack->isBodyComplete()); in isOpenMPCapturedDecl()
2380 DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2404 DSAStack->getDirective(CSI->OpenMPLevel)); in isOpenMPCapturedDecl()
2434 if (DSAStack->getCurrentDirective() != OMPD_unknown && in isOpenMPCapturedDecl()
2435 (!DSAStack->isClauseParsingMode() || in isOpenMPCapturedDecl()
2436 DSAStack->getParentDirective() != OMPD_unknown)) { in isOpenMPCapturedDecl()
2437 auto &&Info = DSAStack->isLoopControlVariable(D); in isOpenMPCapturedDecl()
2440 isImplicitOrExplicitTaskingRegion(DSAStack->getCurrentDirective())) || in isOpenMPCapturedDecl()
2441 (VD && DSAStack->isForceVarCapturing())) in isOpenMPCapturedDecl()
2444 DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2453 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPCapturedDecl()
2459 DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2462 ((DSAStack->getDefaultDSA() != DSA_none && in isOpenMPCapturedDecl()
2463 DSAStack->getDefaultDSA() != DSA_private && in isOpenMPCapturedDecl()
2464 DSAStack->getDefaultDSA() != DSA_firstprivate) || in isOpenMPCapturedDecl()
2470 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPCapturedDecl()
2479 DSAStack->isClauseParsingMode()); in isOpenMPCapturedDecl()
2483 VarDecl *VD = DSAStack->getImplicitFDCapExprDecl(FD); in isOpenMPCapturedDecl()
2504 DSAStack->addImplicitDefaultFirstprivateFD(FD, VD); in isOpenMPCapturedDecl()
2508 (VD && (DSAStack->getDefaultDSA() == DSA_none || in isOpenMPCapturedDecl()
2509 DSAStack->getDefaultDSA() == DSA_private || in isOpenMPCapturedDecl()
2510 DSAStack->getDefaultDSA() == DSA_firstprivate))) in isOpenMPCapturedDecl()
2518 FunctionScopesIndex -= getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in adjustOpenMPTargetScopeIndex()
2523 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) in startOpenMPLoop()
2524 DSAStack->loopInit(); in startOpenMPLoop()
2529 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in startOpenMPCXXRangeFor()
2530 DSAStack->resetPossibleLoopCounter(); in startOpenMPCXXRangeFor()
2531 DSAStack->loopStart(); in startOpenMPCXXRangeFor()
2538 if (DSAStack->getCurrentDirective() != OMPD_unknown && in isOpenMPPrivateDecl()
2539 (!DSAStack->isClauseParsingMode() || in isOpenMPPrivateDecl()
2540 DSAStack->getParentDirective() != OMPD_unknown)) { in isOpenMPPrivateDecl()
2541 DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( in isOpenMPPrivateDecl()
2549 DSAStack->isClauseParsingMode()); in isOpenMPPrivateDecl()
2551 DSAStack->isImplicitDefaultFirstprivateFD(cast<VarDecl>(D)) && in isOpenMPPrivateDecl()
2552 !DSAStack->isLoopControlVariable(D).first) in isOpenMPPrivateDecl()
2555 if (DSAStack->hasExplicitDirective(isOpenMPTaskingDirective, Level)) { in isOpenMPPrivateDecl()
2563 OpenMPDirectiveKind DKind = DSAStack->getDirective(Level); in isOpenMPPrivateDecl()
2569 if (DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2574 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPPrivateDecl()
2576 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) { in isOpenMPPrivateDecl()
2577 DSAStack->addImplicitTaskFirstprivate(Level, D); in isOpenMPPrivateDecl()
2582 if (isOpenMPLoopDirective(DSAStack->getCurrentDirective()) && in isOpenMPPrivateDecl()
2583 !isOpenMPLoopTransformationDirective(DSAStack->getCurrentDirective())) { in isOpenMPPrivateDecl()
2584 if (DSAStack->getAssociatedLoops() > 0 && !DSAStack->isLoopStarted()) { in isOpenMPPrivateDecl()
2585 DSAStack->resetPossibleLoopCounter(D); in isOpenMPPrivateDecl()
2586 DSAStack->loopStart(); in isOpenMPPrivateDecl()
2589 if ((DSAStack->getPossiblyLoopCounter() == D->getCanonicalDecl() || in isOpenMPPrivateDecl()
2590 DSAStack->isLoopControlVariable(D).first) && in isOpenMPPrivateDecl()
2591 !DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2594 !isOpenMPSimdDirective(DSAStack->getCurrentDirective())) in isOpenMPPrivateDecl()
2598 if (DSAStack->isThreadPrivate(const_cast<VarDecl *>(VD)) && in isOpenMPPrivateDecl()
2599 DSAStack->isForceVarCapturing() && in isOpenMPPrivateDecl()
2600 !DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2607 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, Level) && in isOpenMPPrivateDecl()
2608 DSAStack->isUsesAllocatorsDecl(Level, D).value_or( in isOpenMPPrivateDecl()
2612 return (DSAStack->hasExplicitDSA( in isOpenMPPrivateDecl()
2615 (DSAStack->isClauseParsingMode() && in isOpenMPPrivateDecl()
2616 DSAStack->getClauseParsingMode() == OMPC_private) || in isOpenMPPrivateDecl()
2619 (DSAStack->hasExplicitDirective( in isOpenMPPrivateDecl()
2627 DSAStack->isTaskgroupReductionRef(D, Level))) in isOpenMPPrivateDecl()
2637 for (unsigned I = DSAStack->getNestingLevel() + 1; I > Level; --I) { in setOpenMPCaptureKind()
2639 if (DSAStack->hasExplicitDSA( in setOpenMPCaptureKind()
2650 if (DSAStack->checkMappableExprComponentListsForDeclAtLevel( in setOpenMPCaptureKind()
2657 if (DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, in setOpenMPCaptureKind()
2660 if (DSAStack->mustBeFirstprivateAtLevel( in setOpenMPCaptureKind()
2677 getOpenMPCaptureRegions(Regions, DSAStack->getDirective(Level)); in isOpenMPTargetCapturedDecl()
2680 DSAStack->hasExplicitDirective(isOpenMPTargetExecutionDirective, in isOpenMPTargetCapturedDecl()
2695 DSAStack->getTopDSA(D, /*FromParent=*/false); in isOpenMPGlobalCapturedDecl()
2697 getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in isOpenMPGlobalCapturedDecl()
2703 DSAStack->getDefaultDSA() == DSA_firstprivate)); in isOpenMPGlobalCapturedDecl()
2706 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPGlobalCapturedDecl()
2715 void SemaOpenMP::DestroyDataSharingAttributesStack() { delete DSAStack; } in DestroyDataSharingAttributesStack()
2790 DSAStack->push(DKind, DirName, CurScope, Loc); in StartOpenMPDSABlock()
2796 DSAStack->setClauseParsingMode(K); in StartOpenMPClause()
2800 DSAStack->setClauseParsingMode(/*K=*/OMPC_unknown); in EndOpenMPClause()
2904 DSAStack->getTopDSA(VD, /*FromParent=*/false); in EndOpenMPDSABlock()
2947 DSAStack->getTopDSA(D, /*FromParent=*/false); in EndOpenMPDSABlock()
2964 DSAStack->getTopDSA(VD, /*FromParent=*/false); in EndOpenMPDSABlock()
2971 DSAStack->checkMappableExprComponentListsForDecl( in EndOpenMPDSABlock()
2991 reportOriginalDsa(SemaRef, DSAStack, VD, DVar); in EndOpenMPDSABlock()
3002 checkAllocateClauses(SemaRef, DSAStack, D->clauses()); in EndOpenMPDSABlock()
3003 checkReductionClauses(SemaRef, DSAStack, D->clauses()); in EndOpenMPDSABlock()
3006 DSAStack->pop(); in EndOpenMPDSABlock()
3202 !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPIdExpression()
3323 DSAStack->addDSA(VD, DE, OMPC_threadprivate); in CheckOMPThreadPrivateDecl()
3450 !DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>()) in ActOnOpenMPAllocateDirective()
3462 getAllocatorKind(SemaRef, DSAStack, Allocator); in ActOnOpenMPAllocateDirective()
3477 if (checkPreviousOMPAllocateAttribute(SemaRef, DSAStack, RefExpr, VD, in ActOnOpenMPAllocateDirective()
3523 DSAStack->addRequiresDecl(D); in ActOnOpenMPRequiresDirective()
3594 DSAStack->getEncounteredTargetLocs(); in CheckOMPRequiresDecl()
3595 SourceLocation AtomicLoc = DSAStack->getAtomicDirectiveLoc(); in CheckOMPRequiresDecl()
3619 if (!DSAStack->hasDuplicateRequiresClause(ClauseList)) in CheckOMPRequiresDecl()
4414 DSAStack->getConstructLoc()); in ActOnOpenMPRegionStart()
4418 DSAStack->setContext(SemaRef.CurContext); in ActOnOpenMPRegionStart()
4419 handleDeclareVariantConstructTrait(DSAStack, DKind, /*ScopeEntry=*/true); in ActOnOpenMPRegionStart()
4423 return getOpenMPCaptureLevels(DSAStack->getDirective(Level)); in getNumberOfConstructScopes()
4530 (isOpenMPTargetExecutionDirective(DSAStack->getCurrentDirective()) || in tryCaptureOpenMPLambdas()
4532 DSAStack->getCurrentDirective()))) { in tryCaptureOpenMPLambdas()
4538 DSAStack->isForceCaptureByReferenceInTargetExecutable(); in tryCaptureOpenMPLambdas()
4539 DSAStack->setForceCaptureByReferenceInTargetExecutable( in tryCaptureOpenMPLambdas()
4560 DSAStack->setForceCaptureByReferenceInTargetExecutable( in tryCaptureOpenMPLambdas()
4598 handleDeclareVariantConstructTrait(DSAStack, DSAStack->getCurrentDirective(), in ActOnOpenMPRegionEnd()
4600 if (!isOpenMPCapturingDirective(DSAStack->getCurrentDirective())) in ActOnOpenMPRegionEnd()
4605 SemaRef, ErrorFound, DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4612 getOpenMPCaptureRegions(CaptureRegions, DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4620 (isOpenMPTaskingDirective(DSAStack->getCurrentDirective()) || in ActOnOpenMPRegionEnd()
4621 DSAStack->getCurrentDirective() == OMPD_target) && in ActOnOpenMPRegionEnd()
4635 DSAStack->setForceVarCapturing(Clause->getClauseKind() == OMPC_copyin); in ActOnOpenMPRegionEnd()
4642 DSAStack->setForceVarCapturing(/*V=*/false); in ActOnOpenMPRegionEnd()
4660 for (Expr *E : DSAStack->getInnerAllocators()) in ActOnOpenMPRegionEnd()
4692 if (isOpenMPWorksharingDirective(DSAStack->getCurrentDirective()) && in ActOnOpenMPRegionEnd()
4693 isOpenMPSimdDirective(DSAStack->getCurrentDirective()) && OC && in ActOnOpenMPRegionEnd()
4696 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPRegionEnd()
4759 DSAStack->setBodyComplete(); in ActOnOpenMPRegionEnd()
5996 const OpenMPDirectiveKind ParentDirective = DSAStack->getParentDirective(); in mapLoopConstruct()
6011 Diag(DSAStack->getDefaultDSALocation(), in mapLoopConstruct()
6030 Diag(DSAStack->getDefaultDSALocation(), in mapLoopConstruct()
6042 DSAStack->setCurrentDirective(OMPD_for); in mapLoopConstruct()
6043 DSAStack->setMappedDirective(OMPD_loop); in mapLoopConstruct()
6048 DSAStack->setCurrentDirective(OMPD_distribute); in mapLoopConstruct()
6049 DSAStack->setMappedDirective(OMPD_loop); in mapLoopConstruct()
6054 DSAStack->setCurrentDirective(OMPD_simd); in mapLoopConstruct()
6055 DSAStack->setMappedDirective(OMPD_loop); in mapLoopConstruct()
6070 DSAStack->setMappedDirective(OMPD_loop); in mapLoopConstruct()
6104 checkNestingOfRegions(SemaRef, DSAStack, DK, DirName, CancelRegion, in ActOnOpenMPExecutableDirective()
6128 DSAAttrChecker DSAChecker(DSAStack, SemaRef, cast<CapturedStmt>(AStmt)); in ActOnOpenMPExecutableDirective()
6269 processImplicitMapsWithDefaultMappers(SemaRef, DSAStack, in ActOnOpenMPExecutableDirective()
6607 if (DSAStack->getDefaultDSA() == DSA_none || in ActOnOpenMPExecutableDirective()
6608 DSAStack->getDefaultDSA() == DSA_private || in ActOnOpenMPExecutableDirective()
6609 DSAStack->getDefaultDSA() == DSA_firstprivate) { in ActOnOpenMPExecutableDirective()
6610 DSAAttrChecker DSAChecker(DSAStack, SemaRef, nullptr); in ActOnOpenMPExecutableDirective()
6731 if (DSAStack->getDefaultDSA() == DSA_none || in ActOnOpenMPExecutableDirective()
6732 DSAStack->getDefaultDSA() == DSA_private || in ActOnOpenMPExecutableDirective()
6733 DSAStack->getDefaultDSA() == DSA_firstprivate) { in ActOnOpenMPExecutableDirective()
6736 Diag(DSAStack->getDefaultDSALocation(), diag::note_omp_default_dsa_none); in ActOnOpenMPExecutableDirective()
6741 Diag(DSAStack->getDefaultDSALocation(), in ActOnOpenMPExecutableDirective()
6760 !(DSAStack->hasRequiresDeclWithClause<OMPUnifiedSharedMemoryClause>() || in ActOnOpenMPExecutableDirective()
6761 DSAStack->hasRequiresDeclWithClause<OMPUnifiedAddressClause>() || in ActOnOpenMPExecutableDirective()
6762 DSAStack->hasRequiresDeclWithClause<OMPReverseOffloadClause>() || in ActOnOpenMPExecutableDirective()
6763 DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>())) { in ActOnOpenMPExecutableDirective()
6765 DSAStack->addTargetDirLocation(StartLoc); in ActOnOpenMPExecutableDirective()
7218 DSAStack->getConstructTraits()); in ActOnOpenMPCall()
7709 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelDirective()
9058 unsigned AssociatedLoops = DSAStack->getAssociatedLoops(); in ActOnOpenMPLoopInitialization()
9059 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPLoopInitialization()
9063 DSAStack->loopStart(); in ActOnOpenMPLoopInitialization()
9065 *DSAStack, ForLoc); in ActOnOpenMPLoopInitialization()
9079 DSAStack->addLoopControlVariable(D, VD); in ActOnOpenMPLoopInitialization()
9080 const Decl *LD = DSAStack->getPossiblyLoopCounter(); in ActOnOpenMPLoopInitialization()
9082 DSAStack->resetPossibleLoopCounter(); in ActOnOpenMPLoopInitialization()
9097 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLoopInitialization()
9103 ? (DSAStack->hasMutipleLoops() ? OMPC_lastprivate : OMPC_linear) in ActOnOpenMPLoopInitialization()
9123 reportOriginalDsa(SemaRef, DSAStack, D, DVar, /*IsLoopIterVar=*/true); in ActOnOpenMPLoopInitialization()
9130 DSAStack->addDSA(D, LoopDeclRefExpr, PredeterminedCKind, PrivateRef); in ActOnOpenMPLoopInitialization()
9134 DSAStack->setAssociatedLoops(AssociatedLoops - 1); in ActOnOpenMPLoopInitialization()
10346 DSAStack->getMappedDirective() == OMPD_loop && in checkLastPrivateForMappedDirectives()
10347 checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_loop, DSAStack)) { in checkLastPrivateForMappedDirectives()
10368 AStmt, SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPSimdDirective()
10372 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPSimdDirective()
10381 DSAStack->getMappedDirective()); in ActOnOpenMPSimdDirective()
10400 AStmt, SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPForDirective()
10404 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPForDirective()
10409 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion(), in ActOnOpenMPForDirective()
10410 DSAStack->getMappedDirective()); in ActOnOpenMPForDirective()
10426 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack, in ActOnOpenMPForSimdDirective()
10431 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPForSimdDirective()
10480 if (checkSectionsDirective(SemaRef, OMPD_sections, AStmt, DSAStack)) in ActOnOpenMPSectionsDirective()
10487 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
10497 DSAStack->setParentCancelRegion(DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
10500 DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
10595 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_loop, DSAStack)) in ActOnOpenMPGenericLoopDirective()
10604 AStmt, SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPGenericLoopDirective()
10624 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_teams_loop, DSAStack)) in ActOnOpenMPTeamsGenericLoopDirective()
10633 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPTeamsGenericLoopDirective()
10641 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsGenericLoopDirective()
10657 DSAStack)) in ActOnOpenMPTargetTeamsGenericLoopDirective()
10667 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPTargetTeamsGenericLoopDirective()
10690 DSAStack)) in ActOnOpenMPParallelGenericLoopDirective()
10700 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPParallelGenericLoopDirective()
10722 DSAStack)) in ActOnOpenMPTargetParallelGenericLoopDirective()
10732 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPTargetParallelGenericLoopDirective()
10828 const auto Pair = DSAStack->getCriticalWithHint(DirName); in ActOnOpenMPCriticalDirective()
10853 DSAStack->addCriticalWithHint(Dir, Hint); in ActOnOpenMPCriticalDirective()
10870 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack, in ActOnOpenMPParallelForDirective()
10875 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPParallelForDirective()
10880 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelForDirective()
10896 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack, in ActOnOpenMPParallelForSimdDirective()
10901 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPParallelForSimdDirective()
10921 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPParallelMasterDirective()
10934 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPParallelMaskedDirective()
10940 if (checkSectionsDirective(SemaRef, OMPD_parallel_sections, AStmt, DSAStack)) in ActOnOpenMPParallelSectionsDirective()
10947 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
10990 AStmt, DSAStack->isCancelRegion()); in ActOnOpenMPTaskDirective()
11065 DSAStack->getTaskgroupReductionRef()); in ActOnOpenMPTaskgroupDirective()
11139 if (Scope *S = DSAStack->getCurScope()) { in ActOnOpenMPScanDirective()
11148 if (DSAStack->doesParentHasScanDirective()) { in ActOnOpenMPScanDirective()
11150 Diag(DSAStack->getParentScanDirectiveLoc(), in ActOnOpenMPScanDirective()
11155 DSAStack->setParentHasScanDirective(StartLoc); in ActOnOpenMPScanDirective()
11216 isOpenMPSimdDirective(DSAStack->getParentDirective())) { in ActOnOpenMPOrderedDirective()
11231 !DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPOrderedDirective()
11238 if (const Expr *Param = DSAStack->getParentOrderedRegionParam().first) { in ActOnOpenMPOrderedDirective()
11255 if (DSAStack->doesParentHasOrderedDirective()) { in ActOnOpenMPOrderedDirective()
11257 Diag(DSAStack->getParentOrderedDirectiveLoc(), in ActOnOpenMPOrderedDirective()
11262 DSAStack->setParentHasOrderedDirective(StartLoc); in ActOnOpenMPOrderedDirective()
12336 DSAStack->addAtomicDirectiveLoc(StartLoc); in ActOnOpenMPAtomicDirective()
12920 if (DSAStack->hasInnerTeamsRegion()) { in ActOnOpenMPTargetDirective()
12947 Diag(DSAStack->getInnerTeamsRegionLoc(), in ActOnOpenMPTargetDirective()
12969 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetParallelDirective()
12986 getOrderedNumberExpr(Clauses), CS, SemaRef, *DSAStack, in ActOnOpenMPTargetParallelForDirective()
12991 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTargetParallelForDirective()
12996 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetParallelForDirective()
13133 if (getLangOpts().HIP && (DSAStack->getParentDirective() == OMPD_target)) in ActOnOpenMPTeamsDirective()
13138 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDirective()
13147 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancellationPointDirective()
13151 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancellationPointDirective()
13162 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancelDirective()
13166 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancelDirective()
13170 DSAStack->setParentCancelRegion(/*Cancel=*/true); in ActOnOpenMPCancelDirective()
13215 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTaskLoopDirective()
13237 DSAStack->isCancelRegion()); in ActOnOpenMPTaskLoopDirective()
13253 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTaskLoopSimdDirective()
13257 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTaskLoopSimdDirective()
13292 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPMasterTaskLoopDirective()
13314 DSAStack->isCancelRegion()); in ActOnOpenMPMasterTaskLoopDirective()
13330 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPMaskedTaskLoopDirective()
13352 DSAStack->isCancelRegion()); in ActOnOpenMPMaskedTaskLoopDirective()
13368 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPMasterTaskLoopSimdDirective()
13372 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPMasterTaskLoopSimdDirective()
13407 *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPMaskedTaskLoopSimdDirective()
13411 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPMaskedTaskLoopSimdDirective()
13447 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPParallelMasterTaskLoopDirective()
13469 DSAStack->isCancelRegion()); in ActOnOpenMPParallelMasterTaskLoopDirective()
13486 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPParallelMaskedTaskLoopDirective()
13508 DSAStack->isCancelRegion()); in ActOnOpenMPParallelMaskedTaskLoopDirective()
13525 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13530 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13565 /*OrderedLoopCountExpr=*/nullptr, CS, SemaRef, *DSAStack, in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13570 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13607 SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeDirective()
13617 DSAStack->getMappedDirective()); in ActOnOpenMPDistributeDirective()
13635 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPDistributeParallelForDirective()
13645 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPDistributeParallelForDirective()
13662 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPDistributeParallelForSimdDirective()
13667 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPDistributeParallelForSimdDirective()
13692 SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeSimdDirective()
13696 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPDistributeSimdDirective()
13720 getOrderedNumberExpr(Clauses), CS, SemaRef, *DSAStack, in ActOnOpenMPTargetParallelForSimdDirective()
13725 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTargetParallelForSimdDirective()
13748 getOrderedNumberExpr(Clauses), CS, SemaRef, *DSAStack, in ActOnOpenMPTargetSimdDirective()
13753 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTargetSimdDirective()
13778 SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTeamsDistributeDirective()
13785 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeDirective()
13805 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPTeamsDistributeSimdDirective()
13810 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTeamsDistributeSimdDirective()
13816 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeSimdDirective()
13836 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
13841 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
13847 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
13867 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPTeamsDistributeParallelForDirective()
13876 DSAStack->setParentTeamsRegionLoc(StartLoc); in ActOnOpenMPTeamsDistributeParallelForDirective()
13880 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTeamsDistributeParallelForDirective()
13922 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPTargetTeamsDistributeDirective()
13948 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
13953 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
13958 DSAStack->getTaskgroupReductionRef(), DSAStack->isCancelRegion()); in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
13977 SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
13981 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
14005 nullptr /*ordered not a clause on distribute*/, CS, SemaRef, *DSAStack, in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14010 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack)) in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14031 checkOpenMPLoop(Kind, nullptr, nullptr, CurStmt, SemaRef, *DSAStack, in checkTransformableLoopNest()
15292 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPIfClause()
15325 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPFinalClause()
15441 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNumThreadsClause()
15498 if (CKind == OMPC_collapse && DSAStack->getAssociatedLoops() == 1) in VerifyPositiveIntegerConstantInClause()
15499 DSAStack->setAssociatedLoops(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
15501 DSAStack->setAssociatedLoops(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
15595 if (!findOMPAllocatorHandleT(SemaRef, A->getExprLoc(), DSAStack)) in ActOnOpenMPAllocatorClause()
15602 Allocator.get(), DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPAllocatorClause()
15648 NumForLoops ? DSAStack->getAssociatedLoops() : 0, in ActOnOpenMPOrderedClause()
15650 DSAStack->setOrderedRegion(/*IsOrdered=*/true, NumForLoops, Clause); in ActOnOpenMPOrderedClause()
15810 DSAStack->setDefaultDSANone(KindKwLoc); in ActOnOpenMPDefaultClause()
15813 DSAStack->setDefaultDSAShared(KindKwLoc); in ActOnOpenMPDefaultClause()
15816 DSAStack->setDefaultDSAFirstPrivate(KindKwLoc); in ActOnOpenMPDefaultClause()
15819 DSAStack->setDefaultDSAPrivate(KindKwLoc); in ActOnOpenMPDefaultClause()
15944 DSAStack->setRegionHasOrderConcurrent(/*HasOrderConcurrent=*/true); in ActOnOpenMPOrderClause()
15945 if (DSAStack->getCurScope()) { in ActOnOpenMPOrderClause()
15947 unsigned existingFlags = DSAStack->getCurScope()->getFlags(); in ActOnOpenMPOrderClause()
15948 DSAStack->getCurScope()->setFlags(existingFlags | in ActOnOpenMPOrderClause()
16307 DSAStack->getCurrentDirective(), OMPC_schedule, in ActOnOpenMPScheduleClause()
16481 DSAStack->setNowaitRegion(); in ActOnOpenMPNowaitClause()
16487 DSAStack->setUntiedRegion(); in ActOnOpenMPUntiedClause()
16783 DSAStack->getCurrentDirective() == OMPD_depobj) { in ActOnOpenMPDestroyClause()
16813 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNovariantsClause()
16845 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNocontextClause()
16868 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPFilterClause()
17150 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause()
17154 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
17158 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPPrivateClause()
17185 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPPrivateClause()
17196 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
17224 VarDecl *VD = FD ? DSAStack->getImplicitFDCapExprDecl(FD) : nullptr; in ActOnOpenMPPrivateClause()
17232 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_private, Ref); in ActOnOpenMPPrivateClause()
17256 SourceLocation ImplicitClauseLoc = DSAStack->getConstructLoc(); in ActOnOpenMPFirstprivateClause()
17297 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPFirstprivateClause()
17299 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPFirstprivateClause()
17315 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17335 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17358 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
17366 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17382 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
17399 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17416 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPFirstprivateClause()
17427 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
17428 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17436 isOpenMPTaskingDirective(DSAStack->getCurrentDirective())) { in ActOnOpenMPFirstprivateClause()
17439 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
17507 VarDecl *VD = FD ? DSAStack->getImplicitFDCapExprDecl(FD) : nullptr; in ActOnOpenMPFirstprivateClause()
17519 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPFirstprivateClause()
17606 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPLastprivateClause()
17615 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause()
17623 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
17637 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
17642 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
17692 SemaRef.BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, in ActOnOpenMPLastprivateClause()
17700 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_lastprivate, Ref); in ActOnOpenMPLastprivateClause()
17746 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause()
17751 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
17759 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_shared, Ref); in ActOnOpenMPSharedClause()
18961 (DSAStack->getCurrentDirective() != OMPD_for && in ActOnOpenMPReductionClause()
18962 DSAStack->getCurrentDirective() != OMPD_for_simd && in ActOnOpenMPReductionClause()
18963 DSAStack->getCurrentDirective() != OMPD_simd && in ActOnOpenMPReductionClause()
18964 DSAStack->getCurrentDirective() != OMPD_parallel_for && in ActOnOpenMPReductionClause()
18965 DSAStack->getCurrentDirective() != OMPD_parallel_for_simd)) { in ActOnOpenMPReductionClause()
18971 if (actOnOMPReductionKindClause(SemaRef, DSAStack, OMPC_reduction, VarList, in ActOnOpenMPReductionClause()
18993 if (actOnOMPReductionKindClause(SemaRef, DSAStack, OMPC_task_reduction, in ActOnOpenMPTaskReductionClause()
19013 if (actOnOMPReductionKindClause(SemaRef, DSAStack, OMPC_in_reduction, VarList, in ActOnOpenMPInReductionClause()
19122 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause()
19126 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
19153 SemaRef.BuildBinOp(DSAStack->getCurScope(), ELoc, BO_Assign, in ActOnOpenMPLinearClause()
19171 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_linear, Ref); in ActOnOpenMPLinearClause()
19366 if (const Expr *PrevRef = DSAStack->addUniqueAligned(D, SimpleRefExpr)) { in ActOnOpenMPAlignedClause()
19448 if (!DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyinClause()
19484 DSAStack->addDSA(VD, DE, OMPC_copyin); in ActOnOpenMPCopyinClause()
19529 if (!VD || !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyprivateClause()
19531 DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPCopyprivateClause()
19537 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
19545 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
19550 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
19560 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPCopyprivateClause()
19585 DSAStack->getCurScope(), ELoc, BO_Assign, PseudoDstExpr, PseudoSrcExpr); in ActOnOpenMPCopyprivateClause()
19647 bool OMPDependTFound = findOMPDependT(SemaRef, StartLoc, DSAStack); in ActOnOpenMPDepobjClause()
19655 DSAStack->getOMPDependT(), Depobj->getType(), in ActOnOpenMPDepobjClause()
19806 if (DSAStack->getCurrentDirective() == OMPD_ordered && in ActOnOpenMPDependClause()
19812 if (DSAStack->getCurrentDirective() == OMPD_taskwait && in ActOnOpenMPDependClause()
19817 if ((DSAStack->getCurrentDirective() != OMPD_ordered || in ActOnOpenMPDependClause()
19818 DSAStack->getCurrentDirective() == OMPD_depobj) && in ActOnOpenMPDependClause()
19822 DSAStack->getCurrentDirective() == OMPD_depobj) && in ActOnOpenMPDependClause()
19828 DSAStack->getCurrentDirective() == OMPD_depobj) in ActOnOpenMPDependClause()
19858 SemaRef, DepKind == OMPC_DEPEND_source, VarList, DSAStack, EndLoc); in ActOnOpenMPDependClause()
19876 OMPDependTFound = findOMPDependT(SemaRef, StartLoc, DSAStack, in ActOnOpenMPDependClause()
19887 DSAStack->getOMPDependT(), RefExpr->getType()))) { in ActOnOpenMPDependClause()
19935 (OMPDependTFound && DSAStack->getOMPDependT().getTypePtr() == in ActOnOpenMPDependClause()
19988 DSAStack->isParentOrderedRegion()) in ActOnOpenMPDependClause()
19989 DSAStack->addDoacrossDependClause(C, OpsOffs); in ActOnOpenMPDependClause()
20024 if (!DSAStack->hasRequiresDeclWithClause<OMPReverseOffloadClause>()) { in ActOnOpenMPDeviceClause()
20032 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPDeviceClause()
21272 checkMappableExpressionList(SemaRef, DSAStack, OMPC_map, MVLI, Locs.StartLoc, in ActOnOpenMPMapClause()
21646 processImplicitMapsWithDefaultMappers(SemaRef, DSAStack, in ActOnOpenMPDeclareMapperDirective()
21679 DSAStack->addDeclareMapperVarRef(E); in ActOnOpenMPDeclareMapperDirectiveVarDecl()
21684 if (DSAStack->getDeclareMapperVarRef()) in ActOnOpenMPIteratorVarDecl()
21685 DSAStack->addIteratorVarDecl(VD); in ActOnOpenMPIteratorVarDecl()
21690 const Expr *Ref = DSAStack->getDeclareMapperVarRef(); in isOpenMPDeclareMapperVarDeclAllowed()
21696 if (getLangOpts().OpenMP >= 52 && DSAStack->isIteratorVarDecl(VD)) in isOpenMPDeclareMapperVarDeclAllowed()
21705 return cast<DeclRefExpr>(DSAStack->getDeclareMapperVarRef())->getDecl(); in getOpenMPDeclareMapperVarName()
21721 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPNumTeamsClause()
21749 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPThreadLimitClause()
21777 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPPriorityClause()
21809 DSAStack->getCurrentDirective(), in ActOnOpenMPGrainsizeClause()
21843 DSAStack->getCurrentDirective(), &CaptureRegion, &HelperValStmt)) in ActOnOpenMPNumTasksClause()
21889 if (!findOMPEventHandleT(SemaRef, Evt->getExprLoc(), DSAStack)) in ActOnOpenMPDetachClause()
21905 if (!getASTContext().hasSameUnqualifiedType(DSAStack->getOMPEventHandleT(), in ActOnOpenMPDetachClause()
21916 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false); in ActOnOpenMPDetachClause()
21922 reportOriginalDsa(SemaRef, DSAStack, VD, DVar); in ActOnOpenMPDetachClause()
21969 DSAStack->getCurrentDirective(), OMPC_dist_schedule, in ActOnOpenMPDistScheduleClause()
22053 if (DSAStack->checkDefaultmapCategory(Kind)) { in ActOnOpenMPDefaultmapClause()
22060 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_aggregate, StartLoc); in ActOnOpenMPDefaultmapClause()
22061 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_scalar, StartLoc); in ActOnOpenMPDefaultmapClause()
22062 DSAStack->setDefaultDMAAttr(M, OMPC_DEFAULTMAP_pointer, StartLoc); in ActOnOpenMPDefaultmapClause()
22064 DSAStack->setDefaultDMAAttr(M, Kind, StartLoc); in ActOnOpenMPDefaultmapClause()
22271 if (DSAStack->isThreadPrivate(VD)) { in checkDeclIsAllowedInOpenMPTarget()
22273 reportOriginalDsa(SemaRef, DSAStack, VD, DSAStack->getTopDSA(VD, false)); in checkDeclIsAllowedInOpenMPTarget()
22292 !checkValueDeclInTarget(SL, SR, SemaRef, DSAStack, VD)) in checkDeclIsAllowedInOpenMPTarget()
22403 checkMappableExpressionList(SemaRef, DSAStack, OMPC_to, MVLI, Locs.StartLoc, in ActOnOpenMPToClause()
22440 checkMappableExpressionList(SemaRef, DSAStack, OMPC_from, MVLI, Locs.StartLoc, in ActOnOpenMPFromClause()
22519 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPUseDevicePtrClause()
22568 DSAStack->addDSA(D, RefExpr->IgnoreParens(), OMPC_firstprivate, Ref); in ActOnOpenMPUseDeviceAddrClause()
22620 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause()
22625 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPIsDevicePtrClause()
22626 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()
22631 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPIsDevicePtrClause()
22649 DSAStack->addMappableExpressionComponents( in ActOnOpenMPIsDevicePtrClause()
22696 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPHasDeviceAddrClause()
22701 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPHasDeviceAddrClause()
22702 reportOriginalDsa(SemaRef, DSAStack, D, DVar); in ActOnOpenMPHasDeviceAddrClause()
22707 if (DSAStack->checkMappableExprComponentListsForDecl( in ActOnOpenMPHasDeviceAddrClause()
22731 DSAStack->addMappableExpressionComponents( in ActOnOpenMPHasDeviceAddrClause()
22769 if (!findOMPAllocatorHandleT(SemaRef, Allocator->getExprLoc(), DSAStack)) in ActOnOpenMPAllocateClause()
22776 AllocatorRes.get(), DSAStack->getOMPAllocatorHandleT(), in ActOnOpenMPAllocateClause()
22789 !DSAStack->hasRequiresDeclWithClause<OMPDynamicAllocatorsClause>()) in ActOnOpenMPAllocateClause()
22821 DSAStack->addInnerAllocatorExpr(Allocator); in ActOnOpenMPAllocateClause()
22847 DSAStack->addUniqueNontemporal(D, SimpleRefExpr)) { in ActOnOpenMPNontemporalClause()
22898 DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPInclusiveClause()
22907 if (DSAStack->getParentDirective() != OMPD_unknown) in ActOnOpenMPInclusiveClause()
22908 DSAStack->markDeclAsUsedInScanDirective(D); in ActOnOpenMPInclusiveClause()
22938 OpenMPDirectiveKind ParentDirective = DSAStack->getParentDirective(); in ActOnOpenMPExclusiveClause()
22941 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPExclusiveClause()
22951 DSAStack->markDeclAsUsedInScanDirective(D); in ActOnOpenMPExclusiveClause()
22984 if (!findOMPAllocatorHandleT(SemaRef, StartLoc, DSAStack)) in ActOnOpenMPUsesAllocatorClause()
22991 !findOMPAlloctraitT(SemaRef, StartLoc, DSAStack)) in ActOnOpenMPUsesAllocatorClause()
23017 getAllocatorKind(SemaRef, DSAStack, AllocatorExpr); in ActOnOpenMPUsesAllocatorClause()
23022 QualType OMPAllocatorHandleT = DSAStack->getOMPAllocatorHandleT(); in ActOnOpenMPUsesAllocatorClause()
23063 DSAStack->addUsesAllocatorsDecl( in ActOnOpenMPUsesAllocatorClause()
23087 DSAStack->getOMPAlloctraitT()) || in ActOnOpenMPUsesAllocatorClause()
23088 Context.typesAreCompatible(TraitTy, DSAStack->getOMPAlloctraitT(), in ActOnOpenMPUsesAllocatorClause()
23098 DSAStack->addUsesAllocatorsDecl( in ActOnOpenMPUsesAllocatorClause()
23183 OpenMPDirectiveKind DKind = DSAStack->getCurrentDirective(); in ActOnOpenMPXDynCGroupMemClause()
23203 if (DSAStack->getCurrentDirective() == OMPD_ordered && in ActOnOpenMPDoacrossClause()
23221 VarList, DSAStack, EndLoc); in ActOnOpenMPDoacrossClause()
23228 if (DSAStack->isParentOrderedRegion()) in ActOnOpenMPDoacrossClause()
23229 DSAStack->addDoacrossDependClause(C, OpsOffs); in ActOnOpenMPDoacrossClause()