Lines Matching refs:DVar
853 const DSAVarData DVar = getTopDSA(D, false); in isThreadPrivate() local
854 return isOpenMPThreadPrivate(DVar.CKind); in isThreadPrivate()
1297 DSAVarData DVar; in getDSA() local
1305 DVar.CKind = OMPC_shared; in getDSA()
1312 DVar.CKind = OMPC_shared; in getDSA()
1316 DVar.CKind = OMPC_shared; in getDSA()
1318 return DVar; in getDSA()
1327 DVar.CKind = OMPC_private; in getDSA()
1328 return DVar; in getDSA()
1331 DVar.DKind = Iter->Directive; in getDSA()
1336 DVar.RefExpr = Data.RefExpr.getPointer(); in getDSA()
1337 DVar.PrivateCopy = Data.PrivateCopy; in getDSA()
1338 DVar.CKind = Data.Attributes; in getDSA()
1339 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1340 DVar.Modifier = Data.Modifier; in getDSA()
1341 DVar.AppliedToPointee = Data.AppliedToPointee; in getDSA()
1342 return DVar; in getDSA()
1351 DVar.CKind = OMPC_shared; in getDSA()
1352 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1353 return DVar; in getDSA()
1355 return DVar; in getDSA()
1359 DVar.CKind = OMPC_unknown; in getDSA()
1361 DVar.CKind = OMPC_firstprivate; in getDSA()
1363 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1364 return DVar; in getDSA()
1371 DVar.CKind = OMPC_unknown; in getDSA()
1373 DVar.CKind = OMPC_private; in getDSA()
1375 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1376 return DVar; in getDSA()
1382 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1383 if ((isOpenMPParallelDirective(DVar.DKind) && in getDSA()
1384 !isOpenMPTaskLoopDirective(DVar.DKind)) || in getDSA()
1385 isOpenMPTeamsDirective(DVar.DKind)) { in getDSA()
1386 DVar.CKind = OMPC_shared; in getDSA()
1387 return DVar; in getDSA()
1395 if (isOpenMPTaskingDirective(DVar.DKind)) { in getDSA()
1407 DVar.RefExpr = nullptr; in getDSA()
1408 DVar.CKind = OMPC_firstprivate; in getDSA()
1409 return DVar; in getDSA()
1412 DVar.CKind = in getDSA()
1414 return DVar; in getDSA()
1751 DSAVarData DVar; in getTopDSA() local
1756 DVar.RefExpr = TI->getSecond().RefExpr.getPointer(); in getTopDSA()
1757 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1758 DVar.Modifier = TI->getSecond().Modifier; in getTopDSA()
1759 return DVar; in getTopDSA()
1762 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1765 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1766 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1767 return DVar; in getTopDSA()
1778 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1780 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1781 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1782 return DVar; in getTopDSA()
1795 DVar.RefExpr = in getTopDSA()
1798 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1799 return DVar; in getTopDSA()
1806 DVar.RefExpr = DSAIter->getSecond().RefExpr.getPointer(); in getTopDSA()
1807 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1808 return DVar; in getTopDSA()
1814 DVar.RefExpr = in getTopDSA()
1817 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1818 return DVar; in getTopDSA()
1826 return DVar; in getTopDSA()
1845 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1846 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1847 DVar.CKind = Data.Attributes; in getTopDSA()
1848 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1849 DVar.DKind = I->Directive; in getTopDSA()
1850 DVar.Modifier = Data.Modifier; in getTopDSA()
1851 DVar.AppliedToPointee = Data.AppliedToPointee; in getTopDSA()
1852 return DVar; in getTopDSA()
1856 DVar.CKind = OMPC_shared; in getTopDSA()
1857 return DVar; in getTopDSA()
1880 DVar.CKind = OMPC_shared; in getTopDSA()
1881 return DVar; in getTopDSA()
1892 return DVar; in getTopDSA()
1896 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1897 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1898 DVar.CKind = Data.Attributes; in getTopDSA()
1899 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1900 DVar.DKind = I->Directive; in getTopDSA()
1901 DVar.Modifier = Data.Modifier; in getTopDSA()
1902 DVar.AppliedToPointee = Data.AppliedToPointee; in getTopDSA()
1905 return DVar; in getTopDSA()
1950 DSAVarData DVar = getDSA(NewI, D); in hasDSA() local
1951 if (I == NewI && CPred(DVar.CKind, DVar.AppliedToPointee, I->DefaultAttr)) in hasDSA()
1952 return DVar; in hasDSA()
1971 DSAVarData DVar = getDSA(NewI, D); in hasInnermostDSA() local
1972 return (NewI == StartI && CPred(DVar.CKind, DVar.AppliedToPointee)) in hasInnermostDSA()
1973 ? DVar in hasInnermostDSA()
2565 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPPrivateDecl() local
2566 if (DVar.CKind != OMPC_shared && in isOpenMPPrivateDecl()
2567 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) { in isOpenMPPrivateDecl()
2696 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPGlobalCapturedDecl() local
2697 if (DVar.CKind != OMPC_shared) in isOpenMPGlobalCapturedDecl()
2871 const DSAStackTy::DSAVarData &DVar,
2892 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2894 if (DVar.CKind == OMPC_lastprivate) { in EndOpenMPDSABlock()
2935 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2937 PrivateRefs.push_back(DVar.PrivateCopy ? DVar.PrivateCopy in EndOpenMPDSABlock()
2952 DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2959 if (DVar.RefExpr || in EndOpenMPDSABlock()
2979 if (DVar.RefExpr) in EndOpenMPDSABlock()
2980 reportOriginalDsa(*this, DSAStack, VD, DVar); in EndOpenMPDSABlock()
3586 const DSAStackTy::DSAVarData &DVar, in reportOriginalDsa() argument
3588 if (DVar.RefExpr) { in reportOriginalDsa()
3589 SemaRef.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_explicit_dsa) in reportOriginalDsa()
3590 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
3609 if (DVar.CKind == OMPC_private) in reportOriginalDsa()
3611 else if (DVar.CKind == OMPC_lastprivate) in reportOriginalDsa()
3615 } else if (isOpenMPTaskingDirective(DVar.DKind) && in reportOriginalDsa()
3616 DVar.CKind == OMPC_firstprivate) { in reportOriginalDsa()
3618 ReportLoc = DVar.ImplicitDSALoc; in reportOriginalDsa()
3627 else if (VD && VD->isLocalVarDecl() && DVar.CKind == OMPC_private) { in reportOriginalDsa()
3635 } else if (DVar.ImplicitDSALoc.isValid()) { in reportOriginalDsa()
3636 SemaRef.Diag(DVar.ImplicitDSALoc, diag::note_omp_implicit_dsa) in reportOriginalDsa()
3637 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
3772 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
3774 if (DVar.RefExpr || !ImplicitDeclarations.insert(VD).second) in VisitDeclRefExpr()
3793 if (DVar.CKind == OMPC_unknown && in VisitDeclRefExpr()
3802 DSAStackTy::DSAVarData DVar = in VisitDeclRefExpr() local
3804 InheritedDSA = DVar.CKind == OMPC_unknown; in VisitDeclRefExpr()
3825 if (DVar.CKind == OMPC_unknown && IsModifierNone && in VisitDeclRefExpr()
3906 DVar = Stack->hasInnermostDSA( in VisitDeclRefExpr()
3916 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitDeclRefExpr()
3919 reportOriginalDsa(SemaRef, Stack, VD, DVar); in VisitDeclRefExpr()
3924 DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr()
3925 if (((isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared) || in VisitDeclRefExpr()
3927 DVar.CKind == OMPC_firstprivate) || in VisitDeclRefExpr()
3929 DVar.CKind == OMPC_private)) && in VisitDeclRefExpr()
3930 !DVar.RefExpr)) && in VisitDeclRefExpr()
3957 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(FD, /*FromParent=*/false); in VisitMemberExpr() local
3960 if (DVar.RefExpr || !ImplicitDeclarations.insert(FD).second) in VisitMemberExpr()
4002 DVar = Stack->hasInnermostDSA( in VisitMemberExpr()
4012 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitMemberExpr()
4015 reportOriginalDsa(SemaRef, Stack, FD, DVar); in VisitMemberExpr()
4020 DVar = Stack->getImplicitDSA(FD, /*FromParent=*/false); in VisitMemberExpr()
4021 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared && in VisitMemberExpr()
4027 if (DVar.CKind != OMPC_unknown) in VisitMemberExpr()
9288 DSAStackTy::DSAVarData DVar = in ActOnOpenMPLoopInitialization() local
9297 if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in ActOnOpenMPLoopInitialization()
9298 DVar.CKind != PredeterminedCKind && DVar.RefExpr && in ActOnOpenMPLoopInitialization()
9299 (LangOpts.OpenMP <= 45 || (DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLoopInitialization()
9300 DVar.CKind != OMPC_private))) || in ActOnOpenMPLoopInitialization()
9306 !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in ActOnOpenMPLoopInitialization()
9307 DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) && in ActOnOpenMPLoopInitialization()
9308 (DVar.CKind != OMPC_private || DVar.RefExpr)) { in ActOnOpenMPLoopInitialization()
9310 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLoopInitialization()
9313 if (DVar.RefExpr == nullptr) in ActOnOpenMPLoopInitialization()
9314 DVar.CKind = PredeterminedCKind; in ActOnOpenMPLoopInitialization()
9315 reportOriginalDsa(*this, DSAStack, D, DVar, in ActOnOpenMPLoopInitialization()
9322 if (DVar.CKind == OMPC_unknown) in ActOnOpenMPLoopInitialization()
18355 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause() local
18356 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_private) { in ActOnOpenMPPrivateClause()
18357 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPPrivateClause()
18359 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
18400 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
18499 DSAStackTy::DSAVarData DVar = in ActOnOpenMPFirstprivateClause() local
18501 TopDVar = DVar; in ActOnOpenMPFirstprivateClause()
18511 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPFirstprivateClause()
18513 DVar.CKind != OMPC_lastprivate) && in ActOnOpenMPFirstprivateClause()
18514 DVar.RefExpr) { in ActOnOpenMPFirstprivateClause()
18516 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
18518 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18533 if (!(IsConstant || (VD && VD->isStaticDataMember())) && !DVar.RefExpr && in ActOnOpenMPFirstprivateClause()
18534 DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared) { in ActOnOpenMPFirstprivateClause()
18536 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
18538 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18561 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
18562 if (DVar.CKind != OMPC_shared && in ActOnOpenMPFirstprivateClause()
18563 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
18564 isOpenMPTeamsDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
18565 DVar.DKind == OMPD_unknown)) { in ActOnOpenMPFirstprivateClause()
18569 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18585 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
18596 if (DVar.CKind == OMPC_reduction && in ActOnOpenMPFirstprivateClause()
18597 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
18598 isOpenMPWorksharingDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
18599 isOpenMPTeamsDirective(DVar.DKind))) { in ActOnOpenMPFirstprivateClause()
18601 << getOpenMPDirectiveName(DVar.DKind); in ActOnOpenMPFirstprivateClause()
18602 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18631 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18817 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause() local
18818 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLastprivateClause()
18820 DVar.CKind != OMPC_firstprivate) && in ActOnOpenMPLastprivateClause()
18821 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) { in ActOnOpenMPLastprivateClause()
18823 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLastprivateClause()
18825 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18835 DSAStackTy::DSAVarData TopDVar = DVar; in ActOnOpenMPLastprivateClause()
18839 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
18840 if (DVar.CKind != OMPC_shared) { in ActOnOpenMPLastprivateClause()
18844 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18948 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause() local
18949 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared && in ActOnOpenMPSharedClause()
18950 DVar.RefExpr) { in ActOnOpenMPSharedClause()
18951 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPSharedClause()
18953 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
18979 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
18980 if (DVar.CKind == OMPC_shared && !DVar.RefExpr) in VisitDeclRefExpr()
18982 if (DVar.CKind != OMPC_unknown) in VisitDeclRefExpr()
19619 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
19620 if (DVar.CKind == OMPC_reduction) { in actOnOMPReductionKindClause()
19623 if (DVar.RefExpr) in actOnOMPReductionKindClause()
19624 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced); in actOnOMPReductionKindClause()
19627 if (DVar.CKind != OMPC_unknown) { in actOnOMPReductionKindClause()
19629 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
19631 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
19642 DVar = Stack->getImplicitDSA(D, true); in actOnOMPReductionKindClause()
19643 if (DVar.CKind != OMPC_shared) { in actOnOMPReductionKindClause()
19647 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
19654 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
19655 if (DVar.CKind == OMPC_threadprivate) { in actOnOMPReductionKindClause()
19657 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
19659 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
20317 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause() local
20318 if (DVar.RefExpr) { in ActOnOpenMPLinearClause()
20319 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLinearClause()
20321 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
20720 DSAStackTy::DSAVarData DVar = in ActOnOpenMPCopyprivateClause() local
20722 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_copyprivate && in ActOnOpenMPCopyprivateClause()
20723 DVar.RefExpr) { in ActOnOpenMPCopyprivateClause()
20725 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPCopyprivateClause()
20727 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
20734 if (DVar.CKind == OMPC_unknown) { in ActOnOpenMPCopyprivateClause()
20735 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
20736 if (DVar.CKind == OMPC_shared) { in ActOnOpenMPCopyprivateClause()
20740 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
22240 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
22243 reportOriginalDsa(SemaRef, DSAS, VD, DVar); in checkMappableExpressionList()
22376 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
22377 if (isOpenMPPrivate(DVar.CKind)) { in checkMappableExpressionList()
22379 << getOpenMPClauseName(DVar.CKind) in checkMappableExpressionList()
22382 reportOriginalDsa(SemaRef, DSAS, CurDeclaration, DVar); in checkMappableExpressionList()
23084 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false); in ActOnOpenMPDetachClause() local
23085 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPDetachClause()
23086 DVar.RefExpr) { in ActOnOpenMPDetachClause()
23088 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPDetachClause()
23090 reportOriginalDsa(*this, DSAStack, VD, DVar); in ActOnOpenMPDetachClause()
23773 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause() local
23774 if (isOpenMPPrivate(DVar.CKind)) { in ActOnOpenMPIsDevicePtrClause()
23776 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPIsDevicePtrClause()
23779 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()
23848 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPHasDeviceAddrClause() local
23849 if (isOpenMPPrivate(DVar.CKind)) { in ActOnOpenMPHasDeviceAddrClause()
23851 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPHasDeviceAddrClause()
23854 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPHasDeviceAddrClause()
24046 const DSAStackTy::DSAVarData DVar = in ActOnOpenMPInclusiveClause() local
24052 if (DVar.CKind != OMPC_reduction || DVar.Modifier != OMPC_REDUCTION_inscan) in ActOnOpenMPInclusiveClause()
24087 DSAStackTy::DSAVarData DVar; in ActOnOpenMPExclusiveClause() local
24089 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPExclusiveClause()
24094 if (ParentDirective == OMPD_unknown || DVar.CKind != OMPC_reduction || in ActOnOpenMPExclusiveClause()
24095 DVar.Modifier != OMPC_REDUCTION_inscan) { in ActOnOpenMPExclusiveClause()