Lines Matching refs:DSAStack
745 #define DSAStack static_cast<DSAStackTy *>(VarDataSharingAttributesStack) macro
755 auto DKind = DSAStack->getDirectiveForScope(RSI->TheScope); in IsOpenMPCapturedByRef()
847 if (DSAStack->getCurrentDirective() == OMPD_target && in IsOpenMPCapturedVar()
848 !DSAStack->isClauseParsingMode()) { in IsOpenMPCapturedVar()
851 if (DSAStack->getCurScope() && in IsOpenMPCapturedVar()
852 DSAStack->hasDirective( in IsOpenMPCapturedVar()
862 if (DSAStack->getCurrentDirective() != OMPD_unknown && in IsOpenMPCapturedVar()
863 (!DSAStack->isClauseParsingMode() || in IsOpenMPCapturedVar()
864 DSAStack->getParentDirective() != OMPD_unknown)) { in IsOpenMPCapturedVar()
865 if (DSAStack->isLoopControlVariable(VD) || in IsOpenMPCapturedVar()
867 isParallelOrTaskRegion(DSAStack->getCurrentDirective())) || in IsOpenMPCapturedVar()
868 DSAStack->isForceVarCapturing()) in IsOpenMPCapturedVar()
870 auto DVarPrivate = DSAStack->getTopDSA(VD, DSAStack->isClauseParsingMode()); in IsOpenMPCapturedVar()
873 DVarPrivate = DSAStack->hasDSA(VD, isOpenMPPrivate, MatchesAlways(), in IsOpenMPCapturedVar()
874 DSAStack->isClauseParsingMode()); in IsOpenMPCapturedVar()
882 return DSAStack->hasExplicitDSA( in isOpenMPPrivateVar()
891 DSAStack->hasExplicitDirective(isOpenMPTargetDirective, Level); in isOpenMPTargetCapturedVar()
894 void Sema::DestroyDataSharingAttributesStack() { delete DSAStack; } in DestroyDataSharingAttributesStack()
899 DSAStack->push(DKind, DirName, CurScope, Loc); in StartOpenMPDSABlock()
904 DSAStack->setClauseParsingMode(K); in StartOpenMPClause()
908 DSAStack->setClauseParsingMode(/*K=*/OMPC_unknown); in EndOpenMPClause()
928 auto DVar = DSAStack->getTopDSA(VD, false); in EndOpenMPDSABlock()
957 DSAStack->pop(); in EndOpenMPDSABlock()
1099 if (VD->isUsed() && !DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPIdExpression()
1211 DSAStack->addDSA(VD, DE, OMPC_threadprivate); in CheckOMPThreadPrivateDecl()
1377 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1385 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1393 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1401 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1409 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1417 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1425 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1433 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1441 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1454 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1467 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1480 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1500 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1513 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1521 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1530 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1543 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1551 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1559 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1567 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1575 ActOnCapturedRegionStart(DSAStack->getConstructLoc(), CurScope, CR_OpenMP, in ActOnOpenMPRegionStart()
1605 DSAStack->setForceVarCapturing(Clause->getClauseKind() == OMPC_copyin); in ActOnOpenMPRegionEnd()
1612 DSAStack->setForceVarCapturing(/*V=*/false); in ActOnOpenMPRegionEnd()
1613 } else if (isParallelOrTaskRegion(DSAStack->getCurrentDirective()) && in ActOnOpenMPRegionEnd()
2471 if (CheckNestingOfRegions(*this, DSAStack, Kind, DirName, CancelRegion, in ActOnOpenMPExecutableDirective()
2483 DSAAttrChecker DSAChecker(DSAStack, *this, cast<CapturedStmt>(AStmt)); in ActOnOpenMPExecutableDirective()
2683 DSAStack->isCancelRegion()); in ActOnOpenMPParallelDirective()
3371 unsigned CollapseIteration = DSAStack->getCollapseNumber(); in ActOnOpenMPLoopInitialization()
3373 isOpenMPLoopDirective(DSAStack->getCurrentDirective())) { in ActOnOpenMPLoopInitialization()
3376 DSAStack->addLoopControlVariable(ISC.GetLoopVar()); in ActOnOpenMPLoopInitialization()
3378 DSAStack->setCollapseNumber(CollapseIteration - 1); in ActOnOpenMPLoopInitialization()
4093 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPSimdDirective()
4146 AStmt, *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPForDirective()
4165 Clauses, AStmt, B, DSAStack->isCancelRegion()); in ActOnOpenMPForDirective()
4181 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPForSimdDirective()
4247 ->setHasCancel(DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
4257 DSAStack->isCancelRegion()); in ActOnOpenMPSectionsDirective()
4269 DSAStack->setParentCancelRegion(DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
4272 DSAStack->isCancelRegion()); in ActOnOpenMPSectionDirective()
4349 auto Pair = DSAStack->getCriticalWithHint(DirName); in ActOnOpenMPCriticalDirective()
4373 DSAStack->addCriticalWithHint(Dir, Hint); in ActOnOpenMPCriticalDirective()
4397 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPParallelForDirective()
4418 DSAStack->isCancelRegion()); in ActOnOpenMPParallelForDirective()
4441 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack, in ActOnOpenMPParallelForSimdDirective()
4504 ->setHasCancel(DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
4515 Context, StartLoc, EndLoc, Clauses, AStmt, DSAStack->isCancelRegion()); in ActOnOpenMPParallelSectionsDirective()
4535 DSAStack->isCancelRegion()); in ActOnOpenMPTaskDirective()
4600 isOpenMPSimdDirective(DSAStack->getParentDirective())) { in ActOnOpenMPOrderedDirective()
4610 } else if (DependFound && !DSAStack->getParentOrderedRegionParam()) { in ActOnOpenMPOrderedDirective()
4615 if (auto *Param = DSAStack->getParentOrderedRegionParam()) { in ActOnOpenMPOrderedDirective()
5325 if (DSAStack->hasInnerTeamsRegion()) { in ActOnOpenMPTargetDirective()
5343 Diag(DSAStack->getInnerTeamsRegionLoc(), in ActOnOpenMPTargetDirective()
5400 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancellationPointDirective()
5404 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancellationPointDirective()
5422 if (DSAStack->isParentNowaitRegion()) { in ActOnOpenMPCancelDirective()
5426 if (DSAStack->isParentOrderedRegion()) { in ActOnOpenMPCancelDirective()
5430 DSAStack->setParentCancelRegion(/*Cancel=*/true); in ActOnOpenMPCancelDirective()
5472 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPTaskLoopDirective()
5504 /*OrderedLoopCountExpr=*/nullptr, AStmt, *this, *DSAStack, in ActOnOpenMPTaskLoopSimdDirective()
5537 *this, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPDistributeDirective()
5638 ExprResult Val = ActOnBooleanCondition(DSAStack->getCurScope(), in ActOnOpenMPIfClause()
5658 ExprResult Val = ActOnBooleanCondition(DSAStack->getCurScope(), in ActOnOpenMPFinalClause()
5777 DSAStack->setCollapseNumber(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
5779 DSAStack->setCollapseNumber(Result.getExtValue()); in VerifyPositiveIntegerConstantInClause()
5843 DSAStack->setOrderedRegion(/*IsOrdered=*/true, NumForLoops); in ActOnOpenMPOrderedClause()
5939 DSAStack->setDefaultDSANone(KindKwLoc); in ActOnOpenMPDefaultClause()
5942 DSAStack->setDefaultDSAShared(KindKwLoc); in ActOnOpenMPDefaultClause()
6095 } else if (isParallelOrTaskRegion(DSAStack->getCurrentDirective())) { in ActOnOpenMPScheduleClause()
6188 DSAStack->setNowaitRegion(); in ActOnOpenMPNowaitClause()
6380 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPPrivateClause()
6384 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPPrivateClause()
6390 DSAStack->getCurrentDirective() == OMPD_task) { in ActOnOpenMPPrivateClause()
6393 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPPrivateClause()
6420 DSAStack->addDSA(VD, DE, OMPC_private); in ActOnOpenMPPrivateClause()
6464 auto ImplicitClauseLoc = DSAStack->getConstructLoc(); in ActOnOpenMPFirstprivateClause()
6517 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPFirstprivateClause()
6528 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6548 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6552 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPFirstprivateClause()
6560 DVar = DSAStack->getImplicitDSA(VD, true); in ActOnOpenMPFirstprivateClause()
6567 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6584 DSAStack->hasInnermostDSA(VD, MatchesAnyClause(OMPC_reduction), in ActOnOpenMPFirstprivateClause()
6595 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6614 DVar = DSAStack->hasInnermostDSA(VD, MatchesAnyClause(OMPC_private), in ActOnOpenMPFirstprivateClause()
6621 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6624 DVar = DSAStack->hasInnermostDSA(VD, MatchesAnyClause(OMPC_reduction), in ActOnOpenMPFirstprivateClause()
6632 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6635 DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPFirstprivateClause()
6638 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPFirstprivateClause()
6646 DSAStack->getCurrentDirective() == OMPD_task) { in ActOnOpenMPFirstprivateClause()
6649 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPFirstprivateClause()
6708 DSAStack->addDSA(VD, DE, OMPC_firstprivate); in ActOnOpenMPFirstprivateClause()
6778 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPLastprivateClause()
6785 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPLastprivateClause()
6789 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPLastprivateClause()
6799 DVar = DSAStack->getImplicitDSA(VD, true); in ActOnOpenMPLastprivateClause()
6804 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPLastprivateClause()
6842 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPLastprivateClause()
6845 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPLastprivateClause()
6851 DSAStack->addDSA(VD, DE, OMPC_lastprivate); in ActOnOpenMPLastprivateClause()
6907 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPSharedClause()
6912 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPSharedClause()
6916 DSAStack->addDSA(VD, DE, OMPC_shared); in ActOnOpenMPSharedClause()
7186 DSARefChecker Check(DSAStack); in ActOnOpenMPReductionClause()
7240 DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPReductionClause()
7251 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPReductionClause()
7259 OpenMPDirectiveKind CurrDir = DSAStack->getCurrentDirective(); in ActOnOpenMPReductionClause()
7262 DVar = DSAStack->getImplicitDSA(VD, true); in ActOnOpenMPReductionClause()
7267 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPReductionClause()
7422 BuildBinOp(DSAStack->getCurScope(), ReductionId.getLocStart(), BOK, in ActOnOpenMPReductionClause()
7427 BuildBinOp(DSAStack->getCurScope(), ReductionId.getLocStart(), in ActOnOpenMPReductionClause()
7434 BuildBinOp(DSAStack->getCurScope(), ReductionId.getLocStart(), in ActOnOpenMPReductionClause()
7442 DSAStack->addDSA(VD, DE, OMPC_reduction); in ActOnOpenMPReductionClause()
7507 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPLinearClause()
7511 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPLinearClause()
7579 DSAStack->addDSA(VD, DE, OMPC_linear); in ActOnOpenMPLinearClause()
7731 if (DeclRefExpr *PrevRef = DSAStack->addUniqueAligned(VD, DE)) { in ActOnOpenMPAlignedClause()
7805 if (!DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyinClause()
7838 DSAStack->addDSA(VD, DE, OMPC_copyin); in ActOnOpenMPCopyinClause()
7898 if (!DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPCopyprivateClause()
7899 auto DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPCopyprivateClause()
7905 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPCopyprivateClause()
7913 DVar = DSAStack->getImplicitDSA(VD, false); in ActOnOpenMPCopyprivateClause()
7918 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPCopyprivateClause()
7928 << getOpenMPDirectiveName(DSAStack->getCurrentDirective()); in ActOnOpenMPCopyprivateClause()
7992 if (DSAStack->getCurrentDirective() == OMPD_ordered && in ActOnOpenMPDependClause()
8001 if (DSAStack->getCurrentDirective() != OMPD_ordered && in ActOnOpenMPDependClause()
8194 if (DSAStack->isThreadPrivate(VD)) { in ActOnOpenMPMapClause()
8195 auto DVar = DSAStack->getTopDSA(VD, false); in ActOnOpenMPMapClause()
8197 ReportOriginalDSA(*this, DSAStack, VD, DVar); in ActOnOpenMPMapClause()
8211 DSAStackTy::MapInfo MI = DSAStack->IsMappedInCurrentRegion(VD); in ActOnOpenMPMapClause()
8229 MI = DSAStack->getMapInfoForVar(VD); in ActOnOpenMPMapClause()
8242 DSAStack, Type)) in ActOnOpenMPMapClause()
8247 DSAStack->addMapInfoForVar(VD, MI); in ActOnOpenMPMapClause()