Lines Matching defs:Clause
842 OMPOrderedClause *Clause) {
844 getTopOfStack().OrderedRegion.emplace(Param, Clause);
2782 // OpenMP 5.0, 2.19.5.4 reduction Clause, Restrictions.
2796 // OpenMP 5.0, 2.19.5.4 reduction Clause.
2860 auto FinalizeLastprivate = [&](OMPLastprivateClause *Clause) {
2862 for (Expr *DE : Clause->varlist()) {
2894 Clause->setPrivateCopies(PrivateCopies);
2897 auto FinalizeNontemporal = [&](OMPNontemporalClause *Clause) {
2900 for (Expr *RefExpr : Clause->varlist()) {
2918 Clause->setPrivateRefs(PrivateRefs);
2921 auto FinalizeAllocators = [&](OMPUsesAllocatorsClause *Clause) {
2922 for (unsigned I = 0, E = Clause->getNumberOfAllocators(); I < E; ++I) {
2923 OMPUsesAllocatorsClause::Data D = Clause->getAllocatorData(I);
2967 if (auto *Clause = dyn_cast<OMPLastprivateClause>(C)) {
2968 FinalizeLastprivate(Clause);
2969 } else if (auto *Clause = dyn_cast<OMPNontemporalClause>(C)) {
2970 FinalizeNontemporal(Clause);
2971 } else if (auto *Clause = dyn_cast<OMPUsesAllocatorsClause>(C)) {
2972 FinalizeAllocators(Clause);
2986 static bool FinishOpenMPLinearClause(OMPLinearClause &Clause, DeclRefExpr *IV,
4011 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C/C++, p.3]
4553 for (const OMPClause *Clause : Clauses) {
4554 if (Clause->getClauseKind() == OMPC_ordered)
4555 Ordered = cast<OMPOrderedClause>(Clause);
4556 else if (Clause->getClauseKind() == OMPC_order) {
4557 Order = cast<OMPOrderClause>(Clause);
4600 for (OMPClause *Clause : Clauses) {
4604 Clause->getClauseKind() == OMPC_in_reduction) {
4607 auto *IRC = cast<OMPInReductionClause>(Clause);
4612 if (isOpenMPPrivate(Clause->getClauseKind()) ||
4613 Clause->getClauseKind() == OMPC_copyprivate ||
4616 Clause->getClauseKind() == OMPC_copyin)) {
4617 DSAStack->setForceVarCapturing(Clause->getClauseKind() == OMPC_copyin);
4619 for (Stmt *VarRef : Clause->children()) {
4627 if (auto *C = OMPClauseWithPreInit::get(Clause))
4629 if (auto *C = OMPClauseWithPostUpdate::get(Clause)) {
4634 if (Clause->getClauseKind() == OMPC_schedule)
4635 SC = cast<OMPScheduleClause>(Clause);
4636 else if (Clause->getClauseKind() == OMPC_ordered)
4637 OC = cast<OMPOrderedClause>(Clause);
4638 else if (Clause->getClauseKind() == OMPC_linear)
4639 LCs.push_back(cast<OMPLinearClause>(Clause));
5306 // OpenMP, 2.11.4 allocate Clause, Restrictions.
6818 // OpenMP [2.15.3.7, linear Clause, Restrictions]
10340 for (const OMPClause *Clause : Clauses) {
10341 if (Clause->getClauseKind() == OMPC_safelen)
10342 Safelen = cast<OMPSafelenClause>(Clause);
10343 else if (Clause->getClauseKind() == OMPC_simdlen)
10344 Simdlen = cast<OMPSimdlenClause>(Clause);
10779 for (const OMPClause *Clause : Clauses) {
10780 if (Clause->getClauseKind() == OMPC_nowait)
10781 Nowait = Clause;
10782 else if (Clause->getClauseKind() == OMPC_copyprivate)
10783 Copyprivate = Clause;
12902 return C->getClauseKind() == llvm::omp::Clause::OMPC_weak;
15278 llvm_unreachable("Clause is not allowed.");
15361 auto GetEnclosingRegion = [&](int EndIdx, OpenMPClauseKind Clause) {
15367 if (isAllowedClauseForDirective(Leafs[I], Clause, OpenMPVersion))
15775 auto *Clause =
15779 DSAStack->setOrderedRegion(/*IsOrdered=*/true, NumForLoops, Clause);
15780 return Clause;
15899 llvm_unreachable("Clause is not allowed.");
16374 llvm_unreachable("Clause is not allowed.");
16641 llvm_unreachable("Clause is not allowed.");
17260 llvm_unreachable("Clause is not allowed.");
17780 // OpenMP 5.0 [2.19.4.5 lastprivate Clause, Restrictions]
18499 // OpenMP 5.2, 5.5.5 (see page 627, line 18) reduction Clause, Restrictions
19145 // OpenMP 5.0, 2.19.5.4 reduction Clause, Restrictions
19414 static bool FinishOpenMPLinearClause(OMPLinearClause &Clause, DeclRefExpr *IV,
19421 Expr *Step = Clause.getStep();
19422 Expr *CalcStep = Clause.getCalcStep();
19430 auto CurInit = Clause.inits().begin();
19431 auto CurPrivate = Clause.privates().begin();
19432 OpenMPLinearClauseKind LinKind = Clause.getModifier();
19433 for (Expr *RefExpr : Clause.varlist()) {
19507 if (Expr *S = Clause.getStep())
19510 UsedExprs.append(Clause.varlist_size() + 1 - UsedExprs.size(), nullptr);
19511 Clause.setUpdates(Updates);
19512 Clause.setFinals(Finals);
19513 Clause.setUsedExprs(UsedExprs);
20069 // OpenMP 5.0, 2.17.11 depend Clause, Restrictions, C/C++
20117 // OpenMP 5.0, 2.17.11 depend Clause, Restrictions, C/C++
20362 // OpenMP 5.0 [2.19.7.1, map Clause, Restrictions, p.2]
20443 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C/C++, p.3]
20457 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C++, p.1]
20462 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C/C++, p.2]
20478 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.7]
20537 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C++, p.1]
20773 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.3]
20823 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.4]
20853 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C++, p.1]
20858 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C/C++, p.1]
20864 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.5]
20892 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.4]
20946 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.5]
20950 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.6]
21443 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.10]
21457 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.9]
21475 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, C++, p.1]
21507 // OpenMP 4.5 [2.15.5.1, map Clause, Restrictions, p.9]
23198 // OpenMP [2.11.4 allocate Clause, Description]
23215 // OpenMP 5.0, 2.11.4 allocate Clause, Restrictions.