Lines Matching refs:Clauses

2143     // OpenMP 4.5 [2.15.5, Data-mapping Attribute Rules and Clauses].
2800 ArrayRef<OMPClause *> Clauses) {
2807 for (OMPClause *C : Clauses) {
2832 for (OMPClause *C : Clauses) {
2865 ArrayRef<OMPClause *> Clauses);
3400 ArrayRef<OMPClause *> Clauses,
3402 assert(Clauses.size() <= 2 && "Expected at most two clauses.");
3405 if (Clauses.empty()) {
3414 for (const OMPClause *C : Clauses)
3468 auto *D = OMPAllocateDecl::Create(Context, Owner, Loc, Vars, Clauses);
4776 const ArrayRef<OMPClause *> Clauses) {
4780 for (const OMPClause *Clause : Clauses) {
4806 ArrayRef<OMPClause *> Clauses) {
4831 for (OMPClause *Clause : Clauses) {
4900 if (checkOrderedOrderSpecified(*this, Clauses))
4945 for (OMPClause *C : Clauses) {
4960 for (OMPClause *C : Clauses) {
5300 ArrayRef<OMPClause *> Clauses,
5307 for (const OMPClause *C : Clauses) {
5466 ArrayRef<OMPClause *> Clauses) {
5470 llvm::make_filter_range(Clauses, OMPAllocateClause::classof);
5472 auto PrivateRange = llvm::make_filter_range(Clauses, [](const OMPClause *C) {
6007 SmallVectorImpl<OMPClause *> &Clauses) {
6012 for (int Cnt = 0, EndCnt = Clauses.size(); Cnt < EndCnt; ++Cnt) {
6013 auto *C = dyn_cast<OMPMapClause>(Clauses[Cnt]);
6133 Clauses.push_back(NewClause);
6138 ArrayRef<OMPClause *> Clauses,
6176 for (OMPClause *C : Clauses) {
6228 OpenMPDirectiveKind CancelRegion, ArrayRef<OMPClause *> Clauses,
6237 OMPExecutableDirective::getSingleClause<OMPBindClause>(Clauses))
6245 ClausesWithoutBind, Clauses, BindKind, Kind, PrevMappedDirective,
6269 ClausesWithImplicit.append(Clauses.begin(), Clauses.end());
6313 for (OMPClause *C : Clauses) {
6334 for (OMPClause *C : Clauses) {
6375 for (OMPClause *C : Clauses) {
6834 for (OMPClause *C : Clauses) {
6970 ErrorFound = checkIfClauses(*this, Kind, Clauses, AllowedNameModifiers) ||
7884 StmtResult Sema::ActOnOpenMPParallelDirective(ArrayRef<OMPClause *> Clauses,
7901 return OMPParallelDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
10429 static Expr *getCollapseNumberExpr(ArrayRef<OMPClause *> Clauses) {
10431 OMPExecutableDirective::getClausesOfKind<OMPCollapseClause>(Clauses);
10437 static Expr *getOrderedNumberExpr(ArrayRef<OMPClause *> Clauses) {
10439 OMPExecutableDirective::getClausesOfKind<OMPOrderedClause>(Clauses);
10446 const ArrayRef<OMPClause *> Clauses) {
10450 for (const OMPClause *Clause : Clauses) {
10489 static bool checkGenericLoopLastprivate(Sema &S, ArrayRef<OMPClause *> Clauses,
10493 bool Sema::checkLastPrivateForMappedDirectives(ArrayRef<OMPClause *> Clauses) {
10501 checkGenericLoopLastprivate(*this, Clauses, OMPD_loop, DSAStack)) {
10508 Sema::ActOnOpenMPSimdDirective(ArrayRef<OMPClause *> Clauses, Stmt *AStmt,
10514 if (!checkLastPrivateForMappedDirectives(Clauses))
10522 OMPD_simd, getCollapseNumberExpr(Clauses), getOrderedNumberExpr(Clauses),
10532 for (OMPClause *C : Clauses) {
10541 if (checkSimdlenSafelenSpecified(*this, Clauses))
10546 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
10552 Sema::ActOnOpenMPForDirective(ArrayRef<OMPClause *> Clauses, Stmt *AStmt,
10558 if (!checkLastPrivateForMappedDirectives(Clauses))
10566 OMPD_for, getCollapseNumberExpr(Clauses), getOrderedNumberExpr(Clauses),
10576 for (OMPClause *C : Clauses) {
10586 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
10593 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10603 checkOpenMPLoop(OMPD_for_simd, getCollapseNumberExpr(Clauses),
10604 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack,
10614 for (OMPClause *C : Clauses) {
10623 if (checkSimdlenSafelenSpecified(*this, Clauses))
10628 Clauses, AStmt, B);
10631 StmtResult Sema::ActOnOpenMPSectionsDirective(ArrayRef<OMPClause *> Clauses,
10665 return OMPSectionsDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
10691 StmtResult Sema::ActOnOpenMPDispatchDirective(ArrayRef<OMPClause *> Clauses,
10737 return OMPDispatchDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
10741 static bool checkGenericLoopLastprivate(Sema &S, ArrayRef<OMPClause *> Clauses,
10745 for (OMPClause *C : Clauses) {
10767 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10775 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_loop, DSAStack))
10789 OMPD_loop, getCollapseNumberExpr(Clauses), getOrderedNumberExpr(Clauses),
10799 NestedLoopCount, Clauses, AStmt, B);
10803 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10811 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_teams_loop, DSAStack))
10835 checkOpenMPLoop(OMPD_teams_loop, getCollapseNumberExpr(Clauses),
10848 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10852 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10860 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_target_teams_loop,
10885 checkOpenMPLoop(OMPD_target_teams_loop, getCollapseNumberExpr(Clauses),
10897 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10901 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10909 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_parallel_loop, DSAStack))
10933 checkOpenMPLoop(OMPD_parallel_loop, getCollapseNumberExpr(Clauses),
10945 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10949 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
10957 if (checkGenericLoopLastprivate(*this, Clauses, OMPD_target_parallel_loop,
10982 checkOpenMPLoop(OMPD_target_parallel_loop, getCollapseNumberExpr(Clauses),
10994 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
10997 StmtResult Sema::ActOnOpenMPSingleDirective(ArrayRef<OMPClause *> Clauses,
11012 for (const OMPClause *Clause : Clauses) {
11025 return OMPSingleDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt);
11039 StmtResult Sema::ActOnOpenMPMaskedDirective(ArrayRef<OMPClause *> Clauses,
11048 return OMPMaskedDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt);
11052 const DeclarationNameInfo &DirName, ArrayRef<OMPClause *> Clauses,
11061 for (const OMPClause *C : Clauses) {
11102 Clauses, AStmt);
11109 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
11126 checkOpenMPLoop(OMPD_parallel_for, getCollapseNumberExpr(Clauses),
11127 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack,
11137 for (OMPClause *C : Clauses) {
11148 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
11153 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
11170 checkOpenMPLoop(OMPD_parallel_for_simd, getCollapseNumberExpr(Clauses),
11171 getOrderedNumberExpr(Clauses), AStmt, *this, *DSAStack,
11178 for (OMPClause *C : Clauses) {
11187 if (checkSimdlenSafelenSpecified(*this, Clauses))
11192 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
11196 Sema::ActOnOpenMPParallelMasterDirective(ArrayRef<OMPClause *> Clauses,
11214 Context, StartLoc, EndLoc, Clauses, AStmt,
11219 Sema::ActOnOpenMPParallelMaskedDirective(ArrayRef<OMPClause *> Clauses,
11237 Context, StartLoc, EndLoc, Clauses, AStmt,
11242 Sema::ActOnOpenMPParallelSectionsDirective(ArrayRef<OMPClause *> Clauses,
11277 Context, StartLoc, EndLoc, Clauses, AStmt,
11283 Sema &S, ArrayRef<OMPClause *> Clauses,
11287 for (const OMPClause *C : Clauses) {
11304 StmtResult Sema::ActOnOpenMPTaskDirective(ArrayRef<OMPClause *> Clauses,
11313 if (checkMutuallyExclusiveClauses(*this, Clauses,
11327 return OMPTaskDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
11341 StmtResult Sema::ActOnOpenMPErrorDirective(ArrayRef<OMPClause *> Clauses,
11346 OMPExecutableDirective::getSingleClause<OMPAtClause>(Clauses);
11354 OMPExecutableDirective::getSingleClause<OMPSeverityClause>(Clauses);
11356 OMPExecutableDirective::getSingleClause<OMPMessageClause>(Clauses);
11369 return OMPErrorDirective::Create(Context, StartLoc, EndLoc, Clauses);
11372 StmtResult Sema::ActOnOpenMPTaskwaitDirective(ArrayRef<OMPClause *> Clauses,
11376 OMPExecutableDirective::getSingleClause<OMPNowaitClause>(Clauses);
11378 !OMPExecutableDirective::getClausesOfKind<OMPDependClause>(Clauses)
11385 return OMPTaskwaitDirective::Create(Context, StartLoc, EndLoc, Clauses);
11388 StmtResult Sema::ActOnOpenMPTaskgroupDirective(ArrayRef<OMPClause *> Clauses,
11399 return OMPTaskgroupDirective::Create(Context, StartLoc, EndLoc, Clauses,
11404 StmtResult Sema::ActOnOpenMPFlushDirective(ArrayRef<OMPClause *> Clauses,
11409 for (OMPClause *C : Clauses) {
11417 for (const OMPClause *C : Clauses) {
11440 return OMPFlushDirective::Create(Context, StartLoc, EndLoc, Clauses);
11443 StmtResult Sema::ActOnOpenMPDepobjDirective(ArrayRef<OMPClause *> Clauses,
11446 if (Clauses.empty()) {
11449 } else if (Clauses[0]->getClauseKind() != OMPC_depobj) {
11450 Diag(Clauses[0]->getBeginLoc(), diag::err_omp_depobj_expected);
11454 if (Clauses.size() > 2) {
11455 Diag(Clauses[2]->getBeginLoc(),
11458 } else if (Clauses.size() < 1) {
11459 Diag(Clauses[0]->getEndLoc(), diag::err_omp_depobj_single_clause_expected);
11462 return OMPDepobjDirective::Create(Context, StartLoc, EndLoc, Clauses);
11465 StmtResult Sema::ActOnOpenMPScanDirective(ArrayRef<OMPClause *> Clauses,
11469 if (Clauses.size() != 1) {
11470 Diag(Clauses.empty() ? EndLoc : Clauses[1]->getBeginLoc(),
11492 return OMPScanDirective::Create(Context, StartLoc, EndLoc, Clauses);
11495 StmtResult Sema::ActOnOpenMPOrderedDirective(ArrayRef<OMPClause *> Clauses,
11508 for (const OMPClause *C : Clauses) {
11573 } else if (TC || Clauses.empty()) {
11607 return OMPOrderedDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt);
12665 StmtResult Sema::ActOnOpenMPAtomicDirective(ArrayRef<OMPClause *> Clauses,
12685 for (const OMPClause *C : Clauses) {
13213 Context, StartLoc, EndLoc, Clauses, AStmt,
13217 StmtResult Sema::ActOnOpenMPTargetDirective(ArrayRef<OMPClause *> Clauses,
13279 return OMPTargetDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt);
13283 Sema::ActOnOpenMPTargetParallelDirective(ArrayRef<OMPClause *> Clauses,
13310 Context, StartLoc, EndLoc, Clauses, AStmt,
13315 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13342 checkOpenMPLoop(OMPD_target_parallel_for, getCollapseNumberExpr(Clauses),
13343 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack,
13353 for (OMPClause *C : Clauses) {
13364 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13369 static bool hasClauses(ArrayRef<OMPClause *> Clauses,
13372 Clauses, [K](const OMPClause *C) { return C->getClauseKind() == K; });
13376 static bool hasClauses(ArrayRef<OMPClause *> Clauses, const OpenMPClauseKind K,
13378 return hasClauses(Clauses, K) || hasClauses(Clauses, ClauseTypes...);
13382 static bool isClauseMappable(ArrayRef<OMPClause *> Clauses) {
13383 for (const OMPClause *C : Clauses) {
13401 StmtResult Sema::ActOnOpenMPTargetDataDirective(ArrayRef<OMPClause *> Clauses,
13413 if (!hasClauses(Clauses, OMPC_map, OMPC_use_device_ptr) &&
13414 (LangOpts.OpenMP < 50 || !hasClauses(Clauses, OMPC_use_device_addr))) {
13427 return OMPTargetDataDirective::Create(Context, StartLoc, EndLoc, Clauses,
13432 Sema::ActOnOpenMPTargetEnterDataDirective(ArrayRef<OMPClause *> Clauses,
13458 if (!hasClauses(Clauses, OMPC_map)) {
13464 return OMPTargetEnterDataDirective::Create(Context, StartLoc, EndLoc, Clauses,
13469 Sema::ActOnOpenMPTargetExitDataDirective(ArrayRef<OMPClause *> Clauses,
13495 if (!hasClauses(Clauses, OMPC_map)) {
13501 return OMPTargetExitDataDirective::Create(Context, StartLoc, EndLoc, Clauses,
13505 StmtResult Sema::ActOnOpenMPTargetUpdateDirective(ArrayRef<OMPClause *> Clauses,
13530 if (!hasClauses(Clauses, OMPC_to, OMPC_from)) {
13535 if (!isClauseMappable(Clauses)) {
13540 return OMPTargetUpdateDirective::Create(Context, StartLoc, EndLoc, Clauses,
13544 StmtResult Sema::ActOnOpenMPTeamsDirective(ArrayRef<OMPClause *> Clauses,
13566 return OMPTeamsDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt);
13585 StmtResult Sema::ActOnOpenMPCancelDirective(ArrayRef<OMPClause *> Clauses,
13598 return OMPCancelDirective::Create(Context, StartLoc, EndLoc, Clauses,
13603 ArrayRef<OMPClause *> Clauses) {
13606 for (const OMPClause *C : Clauses) {
13630 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13640 checkOpenMPLoop(OMPD_taskloop, getCollapseNumberExpr(Clauses),
13652 if (checkMutuallyExclusiveClauses(*this, Clauses,
13658 if (checkReductionClauseWithNogroup(*this, Clauses))
13663 NestedLoopCount, Clauses, AStmt, B,
13668 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13678 checkOpenMPLoop(OMPD_taskloop_simd, getCollapseNumberExpr(Clauses),
13689 for (OMPClause *C : Clauses) {
13701 if (checkMutuallyExclusiveClauses(*this, Clauses,
13707 if (checkReductionClauseWithNogroup(*this, Clauses))
13709 if (checkSimdlenSafelenSpecified(*this, Clauses))
13714 NestedLoopCount, Clauses, AStmt, B);
13718 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13728 checkOpenMPLoop(OMPD_master_taskloop, getCollapseNumberExpr(Clauses),
13740 if (checkMutuallyExclusiveClauses(*this, Clauses,
13746 if (checkReductionClauseWithNogroup(*this, Clauses))
13751 NestedLoopCount, Clauses, AStmt, B,
13756 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13766 checkOpenMPLoop(OMPD_masked_taskloop, getCollapseNumberExpr(Clauses),
13778 if (checkMutuallyExclusiveClauses(*this, Clauses,
13784 if (checkReductionClauseWithNogroup(*this, Clauses))
13789 NestedLoopCount, Clauses, AStmt, B,
13794 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13804 checkOpenMPLoop(OMPD_master_taskloop_simd, getCollapseNumberExpr(Clauses),
13815 for (OMPClause *C : Clauses) {
13827 if (checkMutuallyExclusiveClauses(*this, Clauses,
13833 if (checkReductionClauseWithNogroup(*this, Clauses))
13835 if (checkSimdlenSafelenSpecified(*this, Clauses))
13840 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13844 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13854 checkOpenMPLoop(OMPD_masked_taskloop_simd, getCollapseNumberExpr(Clauses),
13865 for (OMPClause *C : Clauses) {
13877 if (checkMutuallyExclusiveClauses(*this, Clauses,
13883 if (checkReductionClauseWithNogroup(*this, Clauses))
13885 if (checkSimdlenSafelenSpecified(*this, Clauses))
13890 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
13894 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13923 OMPD_parallel_master_taskloop, getCollapseNumberExpr(Clauses),
13935 if (checkMutuallyExclusiveClauses(*this, Clauses,
13941 if (checkReductionClauseWithNogroup(*this, Clauses))
13946 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
13951 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
13980 OMPD_parallel_masked_taskloop, getCollapseNumberExpr(Clauses),
13992 if (checkMutuallyExclusiveClauses(*this, Clauses,
13998 if (checkReductionClauseWithNogroup(*this, Clauses))
14003 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
14008 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14037 OMPD_parallel_master_taskloop_simd, getCollapseNumberExpr(Clauses),
14048 for (OMPClause *C : Clauses) {
14060 if (checkMutuallyExclusiveClauses(*this, Clauses,
14066 if (checkReductionClauseWithNogroup(*this, Clauses))
14068 if (checkSimdlenSafelenSpecified(*this, Clauses))
14073 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14077 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14106 OMPD_parallel_masked_taskloop_simd, getCollapseNumberExpr(Clauses),
14117 for (OMPClause *C : Clauses) {
14129 if (checkMutuallyExclusiveClauses(*this, Clauses,
14135 if (checkReductionClauseWithNogroup(*this, Clauses))
14137 if (checkSimdlenSafelenSpecified(*this, Clauses))
14142 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14146 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14151 if (!checkLastPrivateForMappedDirectives(Clauses))
14159 checkOpenMPLoop(OMPD_distribute, getCollapseNumberExpr(Clauses),
14170 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
14176 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14204 OMPD_distribute_parallel_for, getCollapseNumberExpr(Clauses),
14215 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
14220 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14248 OMPD_distribute_parallel_for_simd, getCollapseNumberExpr(Clauses),
14259 for (OMPClause *C : Clauses) {
14268 if (checkSimdlenSafelenSpecified(*this, Clauses))
14273 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14277 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14304 checkOpenMPLoop(OMPD_distribute_simd, getCollapseNumberExpr(Clauses),
14315 for (OMPClause *C : Clauses) {
14324 if (checkSimdlenSafelenSpecified(*this, Clauses))
14329 NestedLoopCount, Clauses, AStmt, B);
14333 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14360 OMPD_target_parallel_for_simd, getCollapseNumberExpr(Clauses),
14361 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack, VarsWithImplicitDSA,
14371 for (OMPClause *C : Clauses) {
14379 if (checkSimdlenSafelenSpecified(*this, Clauses))
14384 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14388 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14415 checkOpenMPLoop(OMPD_target_simd, getCollapseNumberExpr(Clauses),
14416 getOrderedNumberExpr(Clauses), CS, *this, *DSAStack,
14426 for (OMPClause *C : Clauses) {
14435 if (checkSimdlenSafelenSpecified(*this, Clauses))
14440 NestedLoopCount, Clauses, AStmt, B);
14444 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14471 checkOpenMPLoop(OMPD_teams_distribute, getCollapseNumberExpr(Clauses),
14485 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14489 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14517 OMPD_teams_distribute_simd, getCollapseNumberExpr(Clauses),
14529 for (OMPClause *C : Clauses) {
14538 if (checkSimdlenSafelenSpecified(*this, Clauses))
14546 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14550 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14579 OMPD_teams_distribute_parallel_for_simd, getCollapseNumberExpr(Clauses),
14591 for (OMPClause *C : Clauses) {
14600 if (checkSimdlenSafelenSpecified(*this, Clauses))
14608 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14612 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14641 OMPD_teams_distribute_parallel_for, getCollapseNumberExpr(Clauses),
14656 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
14660 StmtResult Sema::ActOnOpenMPTargetTeamsDirective(ArrayRef<OMPClause *> Clauses,
14688 bool HasThreadLimitAndNumTeamsClause = hasClauses(Clauses, OMPC_num_teams) &&
14689 hasClauses(Clauses, OMPC_thread_limit);
14690 bool HasBareClause = llvm::any_of(Clauses, [&](const OMPClause *C) {
14700 return OMPTargetTeamsDirective::Create(Context, StartLoc, EndLoc, Clauses,
14705 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14733 OMPD_target_teams_distribute, getCollapseNumberExpr(Clauses),
14744 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14748 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14776 OMPD_target_teams_distribute_parallel_for, getCollapseNumberExpr(Clauses),
14787 for (OMPClause *C : Clauses) {
14798 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B,
14803 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14832 getCollapseNumberExpr(Clauses),
14844 for (OMPClause *C : Clauses) {
14853 if (checkSimdlenSafelenSpecified(*this, Clauses))
14858 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14862 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc,
14890 OMPD_target_teams_distribute_simd, getCollapseNumberExpr(Clauses),
14901 for (OMPClause *C : Clauses) {
14910 if (checkSimdlenSafelenSpecified(*this, Clauses))
14915 Context, StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
14967 StmtResult Sema::ActOnOpenMPTileDirective(ArrayRef<OMPClause *> Clauses,
14971 OMPExecutableDirective::getClausesOfKind<OMPSizesClause>(Clauses);
14994 return OMPTileDirective::Create(Context, StartLoc, EndLoc, Clauses,
15173 return OMPTileDirective::Create(Context, StartLoc, EndLoc, Clauses, NumLoops,
15178 StmtResult Sema::ActOnOpenMPUnrollDirective(ArrayRef<OMPClause *> Clauses,
15186 if (checkMutuallyExclusiveClauses(*this, Clauses, {OMPC_partial, OMPC_full}))
15190 OMPExecutableDirective::getSingleClause<OMPFullClause>(Clauses);
15192 OMPExecutableDirective::getSingleClause<OMPPartialClause>(Clauses);
15210 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
15231 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
15452 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt,
17819 StmtResult Sema::ActOnOpenMPInteropDirective(ArrayRef<OMPClause *> Clauses,
17825 if (!hasClauses(Clauses, OMPC_init, OMPC_use, OMPC_destroy, OMPC_nowait)) {
17843 for (const OMPClause *C : Clauses) {
17863 for (OMPClause *C : Clauses) {
17889 return OMPInteropDirective::Create(Context, StartLoc, EndLoc, Clauses);
18504 // OpenMP [2.4.13, Data-sharing Attribute Clauses]
22754 Expr *MapperVarRef, ArrayRef<OMPClause *> Clauses, Decl *PrevDeclInScope) {
22815 SmallVector<OMPClause *, 4> ClausesWithImplicit(Clauses.begin(),
22816 Clauses.end());
24016 StmtResult Sema::ActOnOpenMPScopeDirective(ArrayRef<OMPClause *> Clauses,
24024 return OMPScopeDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt);