Lines Matching defs:Clauses
2148 // OpenMP 4.5 [2.15.5, Data-mapping Attribute Rules and Clauses].
2811 ArrayRef<OMPClause *> Clauses) {
2818 for (OMPClause *C : Clauses) {
2843 for (OMPClause *C : Clauses) {
2876 ArrayRef<OMPClause *> Clauses);
3015 static bool finishLinearClauses(Sema &SemaRef, ArrayRef<OMPClause *> Clauses,
3025 for (OMPClause *C : Clauses) {
3439 SourceLocation Loc, ArrayRef<Expr *> VarList, ArrayRef<OMPClause *> Clauses,
3441 assert(Clauses.size() <= 2 && "Expected at most two clauses.");
3444 if (Clauses.empty()) {
3453 for (const OMPClause *C : Clauses)
3507 auto *D = OMPAllocateDecl::Create(getASTContext(), Owner, Loc, Vars, Clauses);
4567 const ArrayRef<OMPClause *> Clauses) {
4571 for (const OMPClause *Clause : Clauses) {
4597 ArrayRef<OMPClause *> Clauses) {
4618 for (OMPClause *Clause : Clauses) {
4683 if (checkOrderedOrderSpecified(SemaRef, Clauses))
4729 for (OMPClause *C : Clauses) {
4744 for (OMPClause *C : Clauses) {
5074 ArrayRef<OMPClause *> Clauses,
5081 for (const OMPClause *C : Clauses) {
5240 ArrayRef<OMPClause *> Clauses) {
5244 llvm::make_filter_range(Clauses, OMPAllocateClause::classof);
5246 auto PrivateRange = llvm::make_filter_range(Clauses, [](const OMPClause *C) {
5782 SmallVectorImpl<OMPClause *> &Clauses) {
5787 for (int Cnt = 0, EndCnt = Clauses.size(); Cnt < EndCnt; ++Cnt) {
5788 auto *C = dyn_cast<OMPMapClause>(Clauses[Cnt]);
5908 Clauses.push_back(NewClause);
5986 ArrayRef<OMPClause *> Clauses, OpenMPBindClauseKind &BindKind,
6026 for (OMPClause *C : Clauses) {
6078 OpenMPDirectiveKind CancelRegion, ArrayRef<OMPClause *> Clauses,
6089 OMPExecutableDirective::getSingleClause<OMPBindClause>(Clauses))
6097 ClausesWithoutBind, Clauses, BindKind, Kind, PrevMappedDirective,
6121 ClausesWithImplicit.append(Clauses.begin(), Clauses.end());
6164 for (OMPClause *C : Clauses) {
6185 for (OMPClause *C : Clauses) {
6226 for (OMPClause *C : Clauses) {
6611 for (OMPClause *C : Clauses) {
6752 ErrorFound = checkIfClauses(SemaRef, Kind, Clauses, AllowedNameModifiers) ||
7699 SemaOpenMP::ActOnOpenMPParallelDirective(ArrayRef<OMPClause *> Clauses,
7708 getASTContext(), StartLoc, EndLoc, Clauses, AStmt,
10274 static Expr *getCollapseNumberExpr(ArrayRef<OMPClause *> Clauses) {
10276 OMPExecutableDirective::getClausesOfKind<OMPCollapseClause>(Clauses);
10282 static Expr *getOrderedNumberExpr(ArrayRef<OMPClause *> Clauses) {
10284 OMPExecutableDirective::getClausesOfKind<OMPOrderedClause>(Clauses);
10291 const ArrayRef<OMPClause *> Clauses) {
10295 for (const OMPClause *Clause : Clauses) {
10334 static bool checkGenericLoopLastprivate(Sema &S, ArrayRef<OMPClause *> Clauses,
10339 ArrayRef<OMPClause *> Clauses) {
10347 checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_loop, DSAStack)) {
10354 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10359 if (!checkLastPrivateForMappedDirectives(Clauses))
10367 OMPD_simd, getCollapseNumberExpr(Clauses), getOrderedNumberExpr(Clauses),
10372 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
10375 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
10380 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
10386 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10391 if (!checkLastPrivateForMappedDirectives(Clauses))
10399 OMPD_for, getCollapseNumberExpr(Clauses), getOrderedNumberExpr(Clauses),
10404 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
10408 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
10415 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10425 checkOpenMPLoop(OMPD_for_simd, getCollapseNumberExpr(Clauses),
10426 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack,
10431 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
10434 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
10439 NestedLoopCount, Clauses, AStmt, B);
10477 SemaOpenMP::ActOnOpenMPSectionsDirective(ArrayRef<OMPClause *> Clauses,
10486 getASTContext(), StartLoc, EndLoc, Clauses, AStmt,
10512 SemaOpenMP::ActOnOpenMPDispatchDirective(ArrayRef<OMPClause *> Clauses,
10558 Clauses, AStmt, TargetCallLoc);
10561 static bool checkGenericLoopLastprivate(Sema &S, ArrayRef<OMPClause *> Clauses,
10565 for (OMPClause *C : Clauses) {
10587 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10595 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_loop, DSAStack))
10603 OMPD_loop, getCollapseNumberExpr(Clauses), getOrderedNumberExpr(Clauses),
10612 NestedLoopCount, Clauses, AStmt, B);
10616 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10624 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_teams_loop, DSAStack))
10632 checkOpenMPLoop(OMPD_teams_loop, getCollapseNumberExpr(Clauses),
10644 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10648 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10656 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_target_teams_loop,
10666 checkOpenMPLoop(OMPD_target_teams_loop, getCollapseNumberExpr(Clauses),
10676 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
10681 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10689 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_parallel_loop,
10699 checkOpenMPLoop(OMPD_parallel_loop, getCollapseNumberExpr(Clauses),
10709 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10713 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10721 if (checkGenericLoopLastprivate(SemaRef, Clauses, OMPD_target_parallel_loop,
10731 checkOpenMPLoop(OMPD_target_parallel_loop, getCollapseNumberExpr(Clauses),
10741 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10744 StmtResult SemaOpenMP::ActOnOpenMPSingleDirective(ArrayRef<OMPClause *> Clauses,
10759 for (const OMPClause *Clause : Clauses) {
10772 return OMPSingleDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
10787 StmtResult SemaOpenMP::ActOnOpenMPMaskedDirective(ArrayRef<OMPClause *> Clauses,
10796 return OMPMaskedDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
10801 const DeclarationNameInfo &DirName, ArrayRef<OMPClause *> Clauses,
10810 for (const OMPClause *C : Clauses) {
10851 EndLoc, Clauses, AStmt);
10858 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10869 checkOpenMPLoop(OMPD_parallel_for, getCollapseNumberExpr(Clauses),
10870 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack,
10875 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
10879 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
10884 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10895 checkOpenMPLoop(OMPD_parallel_for_simd, getCollapseNumberExpr(Clauses),
10896 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack,
10901 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
10904 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
10908 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10912 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10920 getASTContext(), StartLoc, EndLoc, Clauses, AStmt,
10925 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10933 getASTContext(), StartLoc, EndLoc, Clauses, AStmt,
10938 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10946 getASTContext(), StartLoc, EndLoc, Clauses, AStmt,
10952 Sema &S, ArrayRef<OMPClause *> Clauses,
10956 for (const OMPClause *C : Clauses) {
10973 StmtResult SemaOpenMP::ActOnOpenMPTaskDirective(ArrayRef<OMPClause *> Clauses,
10983 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
10989 return OMPTaskDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
11003 StmtResult SemaOpenMP::ActOnOpenMPErrorDirective(ArrayRef<OMPClause *> Clauses,
11008 OMPExecutableDirective::getSingleClause<OMPAtClause>(Clauses);
11016 OMPExecutableDirective::getSingleClause<OMPSeverityClause>(Clauses);
11018 OMPExecutableDirective::getSingleClause<OMPMessageClause>(Clauses);
11031 return OMPErrorDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses);
11035 SemaOpenMP::ActOnOpenMPTaskwaitDirective(ArrayRef<OMPClause *> Clauses,
11039 OMPExecutableDirective::getSingleClause<OMPNowaitClause>(Clauses);
11041 !OMPExecutableDirective::getClausesOfKind<OMPDependClause>(Clauses)
11049 Clauses);
11053 SemaOpenMP::ActOnOpenMPTaskgroupDirective(ArrayRef<OMPClause *> Clauses,
11064 Clauses, AStmt,
11068 StmtResult SemaOpenMP::ActOnOpenMPFlushDirective(ArrayRef<OMPClause *> Clauses,
11073 for (OMPClause *C : Clauses) {
11081 for (const OMPClause *C : Clauses) {
11104 return OMPFlushDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses);
11107 StmtResult SemaOpenMP::ActOnOpenMPDepobjDirective(ArrayRef<OMPClause *> Clauses,
11110 if (Clauses.empty()) {
11113 } else if (Clauses[0]->getClauseKind() != OMPC_depobj) {
11114 Diag(Clauses[0]->getBeginLoc(), diag::err_omp_depobj_expected);
11118 if (Clauses.size() > 2) {
11119 Diag(Clauses[2]->getBeginLoc(),
11122 } else if (Clauses.size() < 1) {
11123 Diag(Clauses[0]->getEndLoc(), diag::err_omp_depobj_single_clause_expected);
11126 return OMPDepobjDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses);
11129 StmtResult SemaOpenMP::ActOnOpenMPScanDirective(ArrayRef<OMPClause *> Clauses,
11133 if (Clauses.size() != 1) {
11134 Diag(Clauses.empty() ? EndLoc : Clauses[1]->getBeginLoc(),
11156 return OMPScanDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses);
11160 SemaOpenMP::ActOnOpenMPOrderedDirective(ArrayRef<OMPClause *> Clauses,
11172 for (const OMPClause *C : Clauses) {
11237 } else if (TC || Clauses.empty()) {
11271 return OMPOrderedDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
12330 StmtResult SemaOpenMP::ActOnOpenMPAtomicDirective(ArrayRef<OMPClause *> Clauses,
12351 for (const OMPClause *C : Clauses) {
12878 // could not be performed (Clauses are not available).
12879 auto *It = find_if(Clauses, [](OMPClause *C) {
12882 if (It != Clauses.end()) {
12903 Context, StartLoc, EndLoc, Clauses, AStmt,
12907 StmtResult SemaOpenMP::ActOnOpenMPTargetDirective(ArrayRef<OMPClause *> Clauses,
12955 return OMPTargetDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
12960 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
12968 getASTContext(), StartLoc, EndLoc, Clauses, AStmt,
12973 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
12985 checkOpenMPLoop(OMPD_target_parallel_for, getCollapseNumberExpr(Clauses),
12986 getOrderedNumberExpr(Clauses), CS, SemaRef, *DSAStack,
12991 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
12995 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13000 static bool hasClauses(ArrayRef<OMPClause *> Clauses,
13003 Clauses, [K](const OMPClause *C) { return C->getClauseKind() == K; });
13007 static bool hasClauses(ArrayRef<OMPClause *> Clauses, const OpenMPClauseKind K,
13009 return hasClauses(Clauses, K) || hasClauses(Clauses, ClauseTypes...);
13013 static bool isClauseMappable(ArrayRef<OMPClause *> Clauses) {
13014 for (const OMPClause *C : Clauses) {
13033 SemaOpenMP::ActOnOpenMPTargetDataDirective(ArrayRef<OMPClause *> Clauses,
13044 if (!hasClauses(Clauses, OMPC_map, OMPC_use_device_ptr) &&
13046 !hasClauses(Clauses, OMPC_use_device_addr))) {
13060 Clauses, AStmt);
13064 ArrayRef<OMPClause *> Clauses, SourceLocation StartLoc,
13073 if (!hasClauses(Clauses, OMPC_map)) {
13080 Clauses, AStmt);
13084 ArrayRef<OMPClause *> Clauses, SourceLocation StartLoc,
13093 if (!hasClauses(Clauses, OMPC_map)) {
13100 Clauses, AStmt);
13104 ArrayRef<OMPClause *> Clauses, SourceLocation StartLoc,
13111 if (!hasClauses(Clauses, OMPC_to, OMPC_from)) {
13116 if (!isClauseMappable(Clauses)) {
13122 Clauses, AStmt);
13125 StmtResult SemaOpenMP::ActOnOpenMPTeamsDirective(ArrayRef<OMPClause *> Clauses,
13140 return OMPTeamsDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
13160 ArrayRef<OMPClause *> Clauses, SourceLocation StartLoc,
13171 return OMPCancelDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,
13176 ArrayRef<OMPClause *> Clauses) {
13179 for (const OMPClause *C : Clauses) {
13203 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13213 checkOpenMPLoop(OMPD_taskloop, getCollapseNumberExpr(Clauses),
13225 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13231 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13236 NestedLoopCount, Clauses, AStmt, B,
13241 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13251 checkOpenMPLoop(OMPD_taskloop_simd, getCollapseNumberExpr(Clauses),
13257 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13263 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13269 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13271 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13276 NestedLoopCount, Clauses, AStmt, B);
13280 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13290 checkOpenMPLoop(OMPD_master_taskloop, getCollapseNumberExpr(Clauses),
13302 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13308 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13313 NestedLoopCount, Clauses, AStmt, B,
13318 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13328 checkOpenMPLoop(OMPD_masked_taskloop, getCollapseNumberExpr(Clauses),
13340 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13346 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13351 NestedLoopCount, Clauses, AStmt, B,
13356 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13366 checkOpenMPLoop(OMPD_master_taskloop_simd, getCollapseNumberExpr(Clauses),
13372 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13378 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13384 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13386 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13391 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13395 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13405 checkOpenMPLoop(OMPD_masked_taskloop_simd, getCollapseNumberExpr(Clauses),
13411 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13417 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13423 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13425 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13430 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13434 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13446 OMPD_parallel_master_taskloop, getCollapseNumberExpr(Clauses),
13458 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13464 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13468 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13473 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13485 OMPD_parallel_masked_taskloop, getCollapseNumberExpr(Clauses),
13497 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13503 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13507 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13512 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13524 OMPD_parallel_master_taskloop_simd, getCollapseNumberExpr(Clauses),
13530 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13536 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13542 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13544 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13548 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13552 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13564 OMPD_parallel_masked_taskloop_simd, getCollapseNumberExpr(Clauses),
13570 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13576 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
13582 if (checkReductionClauseWithNogroup(SemaRef, Clauses))
13584 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13588 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13592 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13597 if (!checkLastPrivateForMappedDirectives(Clauses))
13605 checkOpenMPLoop(OMPD_distribute, getCollapseNumberExpr(Clauses),
13616 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13622 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13634 OMPD_distribute_parallel_for, getCollapseNumberExpr(Clauses),
13644 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13649 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13661 OMPD_distribute_parallel_for_simd, getCollapseNumberExpr(Clauses),
13667 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13670 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13674 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13678 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13690 checkOpenMPLoop(OMPD_distribute_simd, getCollapseNumberExpr(Clauses),
13696 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13699 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13703 NestedLoopCount, Clauses, AStmt, B);
13707 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13719 OMPD_target_parallel_for_simd, getCollapseNumberExpr(Clauses),
13720 getOrderedNumberExpr(Clauses), CS, SemaRef, *DSAStack,
13725 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13728 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13732 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13736 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13747 checkOpenMPLoop(OMPD_target_simd, getCollapseNumberExpr(Clauses),
13748 getOrderedNumberExpr(Clauses), CS, SemaRef, *DSAStack,
13753 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13756 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13760 NestedLoopCount, Clauses, AStmt, B);
13764 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13776 checkOpenMPLoop(OMPD_teams_distribute, getCollapseNumberExpr(Clauses),
13788 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13792 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13804 OMPD_teams_distribute_simd, getCollapseNumberExpr(Clauses),
13810 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13813 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13819 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13823 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13835 OMPD_teams_distribute_parallel_for_simd, getCollapseNumberExpr(Clauses),
13841 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13844 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13850 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13854 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13866 OMPD_teams_distribute_parallel_for, getCollapseNumberExpr(Clauses),
13879 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13884 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13892 bool HasThreadLimitAndNumTeamsClause = hasClauses(Clauses, OMPC_num_teams) &&
13893 hasClauses(Clauses, OMPC_thread_limit);
13894 bool HasBareClause = llvm::any_of(Clauses, [&](const OMPClause *C) {
13905 Clauses, AStmt);
13909 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13921 OMPD_target_teams_distribute, getCollapseNumberExpr(Clauses),
13931 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13935 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13947 OMPD_target_teams_distribute_parallel_for, getCollapseNumberExpr(Clauses),
13953 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13957 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13962 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13975 getCollapseNumberExpr(Clauses),
13981 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
13984 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
13988 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13992 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14004 OMPD_target_teams_distribute_simd, getCollapseNumberExpr(Clauses),
14010 if (finishLinearClauses(SemaRef, Clauses, B, DSAStack))
14013 if (checkSimdlenSafelenSpecified(SemaRef, Clauses))
14017 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14125 StmtResult SemaOpenMP::ActOnOpenMPTileDirective(ArrayRef<OMPClause *> Clauses,
14133 OMPExecutableDirective::getSingleClause<OMPSizesClause>(Clauses);
14153 return OMPTileDirective::Create(Context, StartLoc, EndLoc, Clauses,
14392 return OMPTileDirective::Create(Context, StartLoc, EndLoc, Clauses, NumLoops,
14397 StmtResult SemaOpenMP::ActOnOpenMPUnrollDirective(ArrayRef<OMPClause *> Clauses,
14407 if (checkMutuallyExclusiveClauses(SemaRef, Clauses,
14412 OMPExecutableDirective::getSingleClause<OMPFullClause>(Clauses);
14414 OMPExecutableDirective::getSingleClause<OMPPartialClause>(Clauses);
14431 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
14456 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
14672 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
14865 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14888 return OMPInterchangeDirective::Create(Context, StartLoc, EndLoc, Clauses,
15011 return OMPInterchangeDirective::Create(Context, StartLoc, EndLoc, Clauses,
16608 SemaOpenMP::ActOnOpenMPInteropDirective(ArrayRef<OMPClause *> Clauses,
16614 if (!hasClauses(Clauses, OMPC_init, OMPC_use, OMPC_destroy, OMPC_nowait)) {
16632 for (const OMPClause *C : Clauses) {
16652 for (OMPClause *C : Clauses) {
16679 Clauses);
17301 // OpenMP [2.4.13, Data-sharing Attribute Clauses]
21581 Expr *MapperVarRef, ArrayRef<OMPClause *> Clauses, Decl *PrevDeclInScope) {
21643 SmallVector<OMPClause *, 4> ClausesWithImplicit(Clauses.begin(),
21644 Clauses.end());
22865 StmtResult SemaOpenMP::ActOnOpenMPScopeDirective(ArrayRef<OMPClause *> Clauses,
22874 return OMPScopeDirective::Create(getASTContext(), StartLoc, EndLoc, Clauses,