Lines Matching refs:AStmt

5609 StmtResult SemaOpenMP::ActOnOpenMPCanonicalLoop(Stmt *AStmt) {  in ActOnOpenMPCanonicalLoop()  argument
5616 if (auto *For = dyn_cast<ForStmt>(AStmt)) { in ActOnOpenMPCanonicalLoop()
5633 } else if (auto *RangeFor = dyn_cast<CXXForRangeStmt>(AStmt)) { in ActOnOpenMPCanonicalLoop()
5750 SemaRef, LVTy, LogicalTy, CounterRef, Step, isa<CXXForRangeStmt>(AStmt)); in ActOnOpenMPCanonicalLoop()
5754 return OMPCanonicalLoop::create(getASTContext(), AStmt, DistanceFunc, in ActOnOpenMPCanonicalLoop()
5758 StmtResult SemaOpenMP::ActOnOpenMPLoopnest(Stmt *AStmt) { in ActOnOpenMPLoopnest() argument
5760 if (isa<ForStmt>(AStmt) || isa<CXXForRangeStmt>(AStmt)) in ActOnOpenMPLoopnest()
5761 return ActOnOpenMPCanonicalLoop(AStmt); in ActOnOpenMPLoopnest()
5764 OMPExecutableDirective *LoopTransform = cast<OMPExecutableDirective>(AStmt); in ActOnOpenMPLoopnest()
5978 static bool teamsLoopCanBeParallelFor(Stmt *AStmt, Sema &SemaRef) { in teamsLoopCanBeParallelFor() argument
5980 Checker.Visit(AStmt); in teamsLoopCanBeParallelFor()
6079 Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc, in ActOnOpenMPExecutableDirective() argument
6123 if (AStmt && !SemaRef.CurContext->isDependentContext() && in ActOnOpenMPExecutableDirective()
6125 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPExecutableDirective()
6128 DSAAttrChecker DSAChecker(DSAStack, SemaRef, cast<CapturedStmt>(AStmt)); in ActOnOpenMPExecutableDirective()
6130 Stmt *S = AStmt; in ActOnOpenMPExecutableDirective()
6137 auto *CS = cast<CapturedStmt>(AStmt); in ActOnOpenMPExecutableDirective()
6275 Res = ActOnOpenMPParallelDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6279 Res = ActOnOpenMPSimdDirective(ClausesWithImplicit, AStmt, StartLoc, EndLoc, in ActOnOpenMPExecutableDirective()
6284 ActOnOpenMPTileDirective(ClausesWithImplicit, AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6287 Res = ActOnOpenMPUnrollDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6293 Res = ActOnOpenMPReverseDirective(AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6296 Res = ActOnOpenMPInterchangeDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6300 Res = ActOnOpenMPForDirective(ClausesWithImplicit, AStmt, StartLoc, EndLoc, in ActOnOpenMPExecutableDirective()
6304 Res = ActOnOpenMPForSimdDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6308 Res = ActOnOpenMPSectionsDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6314 Res = ActOnOpenMPSectionDirective(AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6317 Res = ActOnOpenMPSingleDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6323 Res = ActOnOpenMPMasterDirective(AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6326 Res = ActOnOpenMPMaskedDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6330 Res = ActOnOpenMPCriticalDirective(DirName, ClausesWithImplicit, AStmt, in ActOnOpenMPExecutableDirective()
6334 Res = ActOnOpenMPParallelForDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6339 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6343 ActOnOpenMPScopeDirective(ClausesWithImplicit, AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6346 Res = ActOnOpenMPParallelMasterDirective(ClausesWithImplicit, AStmt, in ActOnOpenMPExecutableDirective()
6350 Res = ActOnOpenMPParallelMaskedDirective(ClausesWithImplicit, AStmt, in ActOnOpenMPExecutableDirective()
6354 Res = ActOnOpenMPParallelSectionsDirective(ClausesWithImplicit, AStmt, in ActOnOpenMPExecutableDirective()
6359 ActOnOpenMPTaskDirective(ClausesWithImplicit, AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6364 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6369 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6376 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6381 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6386 Res = ActOnOpenMPTaskgroupDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6390 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6395 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6400 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6405 Res = ActOnOpenMPOrderedDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6409 Res = ActOnOpenMPAtomicDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6414 ActOnOpenMPTeamsDirective(ClausesWithImplicit, AStmt, StartLoc, EndLoc); in ActOnOpenMPExecutableDirective()
6417 Res = ActOnOpenMPTargetDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6421 Res = ActOnOpenMPTargetParallelDirective(ClausesWithImplicit, AStmt, in ActOnOpenMPExecutableDirective()
6426 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6431 assert(AStmt == nullptr && "No associated statement allowed for 'omp " in ActOnOpenMPExecutableDirective()
6436 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6442 Res = ActOnOpenMPTargetDataDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6447 EndLoc, AStmt); in ActOnOpenMPExecutableDirective()
6451 EndLoc, AStmt); in ActOnOpenMPExecutableDirective()
6454 Res = ActOnOpenMPTaskLoopDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6458 Res = ActOnOpenMPTaskLoopSimdDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6463 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6467 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6471 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6475 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6479 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6483 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6487 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6491 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6494 Res = ActOnOpenMPDistributeDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6499 EndLoc, AStmt); in ActOnOpenMPExecutableDirective()
6503 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6507 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6511 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6515 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6518 Res = ActOnOpenMPTargetSimdDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6523 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6527 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6531 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6535 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6538 Res = ActOnOpenMPTargetTeamsDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6543 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6547 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6551 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6555 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6558 assert(AStmt == nullptr && in ActOnOpenMPExecutableDirective()
6563 Res = ActOnOpenMPDispatchDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6567 Res = ActOnOpenMPGenericLoopDirective(ClausesWithImplicit, AStmt, StartLoc, in ActOnOpenMPExecutableDirective()
6572 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6576 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6580 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
6584 ClausesWithImplicit, AStmt, StartLoc, EndLoc, VarsWithInheritedDSA); in ActOnOpenMPExecutableDirective()
7674 setBranchProtectedScope(Sema &SemaRef, OpenMPDirectiveKind DKind, Stmt *AStmt) { in setBranchProtectedScope() argument
7675 auto *CS = dyn_cast<CapturedStmt>(AStmt); in setBranchProtectedScope()
7700 Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelDirective() argument
7702 if (!AStmt) in ActOnOpenMPParallelDirective()
7705 setBranchProtectedScope(SemaRef, OMPD_parallel, AStmt); in ActOnOpenMPParallelDirective()
7708 getASTContext(), StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPParallelDirective()
9577 Expr *OrderedLoopCountExpr, Stmt *AStmt, Sema &SemaRef, in checkOpenMPLoop() argument
9624 AStmt->IgnoreContainers(!isOpenMPLoopTransformationDirective(DKind)), in checkOpenMPLoop()
9887 const CapturedDecl *CD = cast<CapturedStmt>(AStmt)->getCapturedDecl(); in checkOpenMPLoop()
9945 SourceLocation CondLoc = AStmt->getBeginLoc(); in checkOpenMPLoop()
9991 SourceLocation IncLoc = AStmt->getBeginLoc(); in checkOpenMPLoop()
10064 SourceLocation DistIncLoc = AStmt->getBeginLoc(); in checkOpenMPLoop()
10083 SourceLocation DistEUBLoc = AStmt->getBeginLoc(); in checkOpenMPLoop()
10354 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPSimdDirective() argument
10356 if (!AStmt) in ActOnOpenMPSimdDirective()
10362 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPSimdDirective()
10368 AStmt, SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPSimdDirective()
10380 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPSimdDirective()
10386 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPForDirective() argument
10388 if (!AStmt) in ActOnOpenMPForDirective()
10394 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPForDirective()
10400 AStmt, SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPForDirective()
10408 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPForDirective()
10415 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPForSimdDirective() argument
10417 if (!AStmt) in ActOnOpenMPForSimdDirective()
10420 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPForSimdDirective()
10426 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack, in ActOnOpenMPForSimdDirective()
10439 NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPForSimdDirective()
10443 Stmt *AStmt, DSAStackTy *Stack) { in checkSectionsDirective() argument
10444 if (!AStmt) in checkSectionsDirective()
10447 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in checkSectionsDirective()
10448 auto BaseStmt = AStmt; in checkSectionsDirective()
10469 SemaRef.Diag(AStmt->getBeginLoc(), diag::err_omp_sections_not_compound_stmt) in checkSectionsDirective()
10478 Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPSectionsDirective() argument
10480 if (checkSectionsDirective(SemaRef, OMPD_sections, AStmt, DSAStack)) in ActOnOpenMPSectionsDirective()
10486 getASTContext(), StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPSectionsDirective()
10490 StmtResult SemaOpenMP::ActOnOpenMPSectionDirective(Stmt *AStmt, in ActOnOpenMPSectionDirective() argument
10493 if (!AStmt) in ActOnOpenMPSectionDirective()
10499 return OMPSectionDirective::Create(getASTContext(), StartLoc, EndLoc, AStmt, in ActOnOpenMPSectionDirective()
10513 Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPDispatchDirective() argument
10515 if (!AStmt) in ActOnOpenMPDispatchDirective()
10518 Stmt *S = cast<CapturedStmt>(AStmt)->getCapturedStmt(); in ActOnOpenMPDispatchDirective()
10558 Clauses, AStmt, TargetCallLoc); in ActOnOpenMPDispatchDirective()
10587 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPGenericLoopDirective() argument
10589 if (!AStmt) in ActOnOpenMPGenericLoopDirective()
10598 setBranchProtectedScope(SemaRef, OMPD_loop, AStmt); in ActOnOpenMPGenericLoopDirective()
10604 AStmt, SemaRef, *DSAStack, VarsWithImplicitDSA, B); in ActOnOpenMPGenericLoopDirective()
10612 NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPGenericLoopDirective()
10616 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTeamsGenericLoopDirective() argument
10618 if (!AStmt) in ActOnOpenMPTeamsGenericLoopDirective()
10627 CapturedStmt *CS = setBranchProtectedScope(SemaRef, OMPD_teams_loop, AStmt); in ActOnOpenMPTeamsGenericLoopDirective()
10644 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTeamsGenericLoopDirective()
10648 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetTeamsGenericLoopDirective() argument
10650 if (!AStmt) in ActOnOpenMPTargetTeamsGenericLoopDirective()
10661 setBranchProtectedScope(SemaRef, OMPD_target_teams_loop, AStmt); in ActOnOpenMPTargetTeamsGenericLoopDirective()
10676 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPTargetTeamsGenericLoopDirective()
10677 teamsLoopCanBeParallelFor(AStmt, SemaRef)); in ActOnOpenMPTargetTeamsGenericLoopDirective()
10681 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelGenericLoopDirective() argument
10683 if (!AStmt) in ActOnOpenMPParallelGenericLoopDirective()
10694 setBranchProtectedScope(SemaRef, OMPD_parallel_loop, AStmt); in ActOnOpenMPParallelGenericLoopDirective()
10709 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPParallelGenericLoopDirective()
10713 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetParallelGenericLoopDirective() argument
10715 if (!AStmt) in ActOnOpenMPTargetParallelGenericLoopDirective()
10726 setBranchProtectedScope(SemaRef, OMPD_target_parallel_loop, AStmt); in ActOnOpenMPTargetParallelGenericLoopDirective()
10741 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTargetParallelGenericLoopDirective()
10745 Stmt *AStmt, in ActOnOpenMPSingleDirective() argument
10748 if (!AStmt) in ActOnOpenMPSingleDirective()
10751 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPSingleDirective()
10773 AStmt); in ActOnOpenMPSingleDirective()
10776 StmtResult SemaOpenMP::ActOnOpenMPMasterDirective(Stmt *AStmt, in ActOnOpenMPMasterDirective() argument
10779 if (!AStmt) in ActOnOpenMPMasterDirective()
10784 return OMPMasterDirective::Create(getASTContext(), StartLoc, EndLoc, AStmt); in ActOnOpenMPMasterDirective()
10788 Stmt *AStmt, in ActOnOpenMPMaskedDirective() argument
10791 if (!AStmt) in ActOnOpenMPMaskedDirective()
10797 AStmt); in ActOnOpenMPMaskedDirective()
10802 Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) { in ActOnOpenMPCriticalDirective() argument
10803 if (!AStmt) in ActOnOpenMPCriticalDirective()
10851 EndLoc, Clauses, AStmt); in ActOnOpenMPCriticalDirective()
10858 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelForDirective() argument
10860 if (!AStmt) in ActOnOpenMPParallelForDirective()
10863 setBranchProtectedScope(SemaRef, OMPD_parallel_for, AStmt); in ActOnOpenMPParallelForDirective()
10870 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack, in ActOnOpenMPParallelForDirective()
10879 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPParallelForDirective()
10884 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelForSimdDirective() argument
10886 if (!AStmt) in ActOnOpenMPParallelForSimdDirective()
10889 setBranchProtectedScope(SemaRef, OMPD_parallel_for_simd, AStmt); in ActOnOpenMPParallelForSimdDirective()
10896 getOrderedNumberExpr(Clauses), AStmt, SemaRef, *DSAStack, in ActOnOpenMPParallelForSimdDirective()
10908 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPParallelForSimdDirective()
10912 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelMasterDirective() argument
10914 if (!AStmt) in ActOnOpenMPParallelMasterDirective()
10917 setBranchProtectedScope(SemaRef, OMPD_parallel_master, AStmt); in ActOnOpenMPParallelMasterDirective()
10920 getASTContext(), StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPParallelMasterDirective()
10925 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelMaskedDirective() argument
10927 if (!AStmt) in ActOnOpenMPParallelMaskedDirective()
10930 setBranchProtectedScope(SemaRef, OMPD_parallel_masked, AStmt); in ActOnOpenMPParallelMaskedDirective()
10933 getASTContext(), StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPParallelMaskedDirective()
10938 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelSectionsDirective() argument
10940 if (checkSectionsDirective(SemaRef, OMPD_parallel_sections, AStmt, DSAStack)) in ActOnOpenMPParallelSectionsDirective()
10946 getASTContext(), StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPParallelSectionsDirective()
10974 Stmt *AStmt, in ActOnOpenMPTaskDirective() argument
10977 if (!AStmt) in ActOnOpenMPTaskDirective()
10987 setBranchProtectedScope(SemaRef, OMPD_task, AStmt); in ActOnOpenMPTaskDirective()
10990 AStmt, DSAStack->isCancelRegion()); in ActOnOpenMPTaskDirective()
11054 Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTaskgroupDirective() argument
11056 if (!AStmt) in ActOnOpenMPTaskgroupDirective()
11059 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPTaskgroupDirective()
11064 Clauses, AStmt, in ActOnOpenMPTaskgroupDirective()
11161 Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPOrderedDirective() argument
11246 if ((!AStmt && !DependFound && !DoacrossFound) || ErrorFound) in ActOnOpenMPOrderedDirective()
11265 if (AStmt) { in ActOnOpenMPOrderedDirective()
11266 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPOrderedDirective()
11272 AStmt); in ActOnOpenMPOrderedDirective()
12331 Stmt *AStmt, in ActOnOpenMPAtomicDirective() argument
12337 if (!AStmt) in ActOnOpenMPAtomicDirective()
12440 Stmt *Body = AStmt; in ActOnOpenMPAtomicDirective()
12903 Context, StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPAtomicDirective()
12908 Stmt *AStmt, in ActOnOpenMPTargetDirective() argument
12911 if (!AStmt) in ActOnOpenMPTargetDirective()
12914 CapturedStmt *CS = setBranchProtectedScope(SemaRef, OMPD_target, AStmt); in ActOnOpenMPTargetDirective()
12956 AStmt); in ActOnOpenMPTargetDirective()
12960 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetParallelDirective() argument
12962 if (!AStmt) in ActOnOpenMPTargetParallelDirective()
12965 setBranchProtectedScope(SemaRef, OMPD_target_parallel, AStmt); in ActOnOpenMPTargetParallelDirective()
12968 getASTContext(), StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPTargetParallelDirective()
12973 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetParallelForDirective() argument
12975 if (!AStmt) in ActOnOpenMPTargetParallelForDirective()
12979 setBranchProtectedScope(SemaRef, OMPD_target_parallel_for, AStmt); in ActOnOpenMPTargetParallelForDirective()
12995 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPTargetParallelForDirective()
13034 Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetDataDirective() argument
13036 if (!AStmt) in ActOnOpenMPTargetDataDirective()
13039 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPTargetDataDirective()
13060 Clauses, AStmt); in ActOnOpenMPTargetDataDirective()
13065 SourceLocation EndLoc, Stmt *AStmt) { in ActOnOpenMPTargetEnterDataDirective() argument
13066 if (!AStmt) in ActOnOpenMPTargetEnterDataDirective()
13069 setBranchProtectedScope(SemaRef, OMPD_target_enter_data, AStmt); in ActOnOpenMPTargetEnterDataDirective()
13080 Clauses, AStmt); in ActOnOpenMPTargetEnterDataDirective()
13085 SourceLocation EndLoc, Stmt *AStmt) { in ActOnOpenMPTargetExitDataDirective() argument
13086 if (!AStmt) in ActOnOpenMPTargetExitDataDirective()
13089 setBranchProtectedScope(SemaRef, OMPD_target_exit_data, AStmt); in ActOnOpenMPTargetExitDataDirective()
13100 Clauses, AStmt); in ActOnOpenMPTargetExitDataDirective()
13105 SourceLocation EndLoc, Stmt *AStmt) { in ActOnOpenMPTargetUpdateDirective() argument
13106 if (!AStmt) in ActOnOpenMPTargetUpdateDirective()
13109 setBranchProtectedScope(SemaRef, OMPD_target_update, AStmt); in ActOnOpenMPTargetUpdateDirective()
13122 Clauses, AStmt); in ActOnOpenMPTargetUpdateDirective()
13126 Stmt *AStmt, in ActOnOpenMPTeamsDirective() argument
13129 if (!AStmt) in ActOnOpenMPTeamsDirective()
13136 setBranchProtectedScope(SemaRef, OMPD_teams, AStmt); in ActOnOpenMPTeamsDirective()
13141 AStmt); in ActOnOpenMPTeamsDirective()
13203 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTaskLoopDirective() argument
13205 if (!AStmt) in ActOnOpenMPTaskLoopDirective()
13208 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPTaskLoopDirective()
13214 /*OrderedLoopCountExpr=*/nullptr, AStmt, SemaRef, in ActOnOpenMPTaskLoopDirective()
13236 NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPTaskLoopDirective()
13241 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTaskLoopSimdDirective() argument
13243 if (!AStmt) in ActOnOpenMPTaskLoopSimdDirective()
13246 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPTaskLoopSimdDirective()
13252 /*OrderedLoopCountExpr=*/nullptr, AStmt, SemaRef, in ActOnOpenMPTaskLoopSimdDirective()
13276 NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTaskLoopSimdDirective()
13280 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPMasterTaskLoopDirective() argument
13282 if (!AStmt) in ActOnOpenMPMasterTaskLoopDirective()
13285 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPMasterTaskLoopDirective()
13291 /*OrderedLoopCountExpr=*/nullptr, AStmt, SemaRef, in ActOnOpenMPMasterTaskLoopDirective()
13313 NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPMasterTaskLoopDirective()
13318 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPMaskedTaskLoopDirective() argument
13320 if (!AStmt) in ActOnOpenMPMaskedTaskLoopDirective()
13323 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPMaskedTaskLoopDirective()
13329 /*OrderedLoopCountExpr=*/nullptr, AStmt, SemaRef, in ActOnOpenMPMaskedTaskLoopDirective()
13351 NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPMaskedTaskLoopDirective()
13356 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPMasterTaskLoopSimdDirective() argument
13358 if (!AStmt) in ActOnOpenMPMasterTaskLoopSimdDirective()
13361 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPMasterTaskLoopSimdDirective()
13367 /*OrderedLoopCountExpr=*/nullptr, AStmt, SemaRef, in ActOnOpenMPMasterTaskLoopSimdDirective()
13391 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPMasterTaskLoopSimdDirective()
13395 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPMaskedTaskLoopSimdDirective() argument
13397 if (!AStmt) in ActOnOpenMPMaskedTaskLoopSimdDirective()
13400 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPMaskedTaskLoopSimdDirective()
13406 /*OrderedLoopCountExpr=*/nullptr, AStmt, SemaRef, in ActOnOpenMPMaskedTaskLoopSimdDirective()
13430 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPMaskedTaskLoopSimdDirective()
13434 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelMasterTaskLoopDirective() argument
13436 if (!AStmt) in ActOnOpenMPParallelMasterTaskLoopDirective()
13440 setBranchProtectedScope(SemaRef, OMPD_parallel_master_taskloop, AStmt); in ActOnOpenMPParallelMasterTaskLoopDirective()
13468 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPParallelMasterTaskLoopDirective()
13473 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelMaskedTaskLoopDirective() argument
13475 if (!AStmt) in ActOnOpenMPParallelMaskedTaskLoopDirective()
13479 setBranchProtectedScope(SemaRef, OMPD_parallel_masked_taskloop, AStmt); in ActOnOpenMPParallelMaskedTaskLoopDirective()
13507 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPParallelMaskedTaskLoopDirective()
13512 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelMasterTaskLoopSimdDirective() argument
13514 if (!AStmt) in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13518 SemaRef, OMPD_parallel_master_taskloop_simd, AStmt); in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13548 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPParallelMasterTaskLoopSimdDirective()
13552 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPParallelMaskedTaskLoopSimdDirective() argument
13554 if (!AStmt) in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13558 SemaRef, OMPD_parallel_masked_taskloop_simd, AStmt); in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13588 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPParallelMaskedTaskLoopSimdDirective()
13592 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPDistributeDirective() argument
13594 if (!AStmt) in ActOnOpenMPDistributeDirective()
13600 assert(isa<CapturedStmt>(AStmt) && "Captured statement expected"); in ActOnOpenMPDistributeDirective()
13606 nullptr /*ordered not a clause on distribute*/, AStmt, in ActOnOpenMPDistributeDirective()
13616 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPDistributeDirective()
13622 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPDistributeParallelForDirective() argument
13624 if (!AStmt) in ActOnOpenMPDistributeParallelForDirective()
13628 setBranchProtectedScope(SemaRef, OMPD_distribute_parallel_for, AStmt); in ActOnOpenMPDistributeParallelForDirective()
13644 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPDistributeParallelForDirective()
13649 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPDistributeParallelForSimdDirective() argument
13651 if (!AStmt) in ActOnOpenMPDistributeParallelForSimdDirective()
13655 SemaRef, OMPD_distribute_parallel_for_simd, AStmt); in ActOnOpenMPDistributeParallelForSimdDirective()
13674 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPDistributeParallelForSimdDirective()
13678 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPDistributeSimdDirective() argument
13680 if (!AStmt) in ActOnOpenMPDistributeSimdDirective()
13684 setBranchProtectedScope(SemaRef, OMPD_distribute_simd, AStmt); in ActOnOpenMPDistributeSimdDirective()
13703 NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPDistributeSimdDirective()
13707 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetParallelForSimdDirective() argument
13709 if (!AStmt) in ActOnOpenMPTargetParallelForSimdDirective()
13713 setBranchProtectedScope(SemaRef, OMPD_target_parallel_for_simd, AStmt); in ActOnOpenMPTargetParallelForSimdDirective()
13732 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTargetParallelForSimdDirective()
13736 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetSimdDirective() argument
13738 if (!AStmt) in ActOnOpenMPTargetSimdDirective()
13741 CapturedStmt *CS = setBranchProtectedScope(SemaRef, OMPD_target_simd, AStmt); in ActOnOpenMPTargetSimdDirective()
13760 NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTargetSimdDirective()
13764 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTeamsDistributeDirective() argument
13766 if (!AStmt) in ActOnOpenMPTeamsDistributeDirective()
13770 setBranchProtectedScope(SemaRef, OMPD_teams_distribute, AStmt); in ActOnOpenMPTeamsDistributeDirective()
13788 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTeamsDistributeDirective()
13792 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTeamsDistributeSimdDirective() argument
13794 if (!AStmt) in ActOnOpenMPTeamsDistributeSimdDirective()
13798 setBranchProtectedScope(SemaRef, OMPD_teams_distribute_simd, AStmt); in ActOnOpenMPTeamsDistributeSimdDirective()
13819 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTeamsDistributeSimdDirective()
13823 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTeamsDistributeParallelForSimdDirective() argument
13825 if (!AStmt) in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
13829 SemaRef, OMPD_teams_distribute_parallel_for_simd, AStmt); in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
13850 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTeamsDistributeParallelForSimdDirective()
13854 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTeamsDistributeParallelForDirective() argument
13856 if (!AStmt) in ActOnOpenMPTeamsDistributeParallelForDirective()
13860 SemaRef, OMPD_teams_distribute_parallel_for, AStmt); in ActOnOpenMPTeamsDistributeParallelForDirective()
13879 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPTeamsDistributeParallelForDirective()
13884 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetTeamsDirective() argument
13886 if (!AStmt) in ActOnOpenMPTargetTeamsDirective()
13889 setBranchProtectedScope(SemaRef, OMPD_target_teams, AStmt); in ActOnOpenMPTargetTeamsDirective()
13905 Clauses, AStmt); in ActOnOpenMPTargetTeamsDirective()
13909 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetTeamsDistributeDirective() argument
13911 if (!AStmt) in ActOnOpenMPTargetTeamsDistributeDirective()
13915 setBranchProtectedScope(SemaRef, OMPD_target_teams_distribute, AStmt); in ActOnOpenMPTargetTeamsDistributeDirective()
13931 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTargetTeamsDistributeDirective()
13935 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetTeamsDistributeParallelForDirective() argument
13937 if (!AStmt) in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
13941 SemaRef, OMPD_target_teams_distribute_parallel_for, AStmt); in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
13957 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B, in ActOnOpenMPTargetTeamsDistributeParallelForDirective()
13962 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective() argument
13964 if (!AStmt) in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
13968 SemaRef, OMPD_target_teams_distribute_parallel_for_simd, AStmt); in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
13988 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective()
13992 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPTargetTeamsDistributeSimdDirective() argument
13994 if (!AStmt) in ActOnOpenMPTargetTeamsDistributeSimdDirective()
13998 SemaRef, OMPD_target_teams_distribute_simd, AStmt); in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14017 getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B); in ActOnOpenMPTargetTeamsDistributeSimdDirective()
14021 OpenMPDirectiveKind Kind, Stmt *AStmt, int NumLoops, in checkTransformableLoopNest() argument
14026 AStmt->IgnoreContainers(), /*TryImperfectlyNestedLoops=*/false, NumLoops, in checkTransformableLoopNest()
14112 static void collectLoopStmts(Stmt *AStmt, MutableArrayRef<Stmt *> LoopStmts) { in collectLoopStmts() argument
14115 AStmt, /*TryImperfectlyNestedLoops=*/false, NumLoops, in collectLoopStmts()
14126 Stmt *AStmt, in ActOnOpenMPTileDirective() argument
14140 if (!AStmt) in ActOnOpenMPTileDirective()
14147 if (!checkTransformableLoopNest(OMPD_tile, AStmt, NumLoops, LoopHelpers, Body, in ActOnOpenMPTileDirective()
14154 NumLoops, AStmt, nullptr, nullptr); in ActOnOpenMPTileDirective()
14165 collectLoopStmts(AStmt, LoopStmts); in ActOnOpenMPTileDirective()
14393 AStmt, Inner, in ActOnOpenMPTileDirective()
14398 Stmt *AStmt, in ActOnOpenMPUnrollDirective() argument
14404 if (!AStmt) in ActOnOpenMPUnrollDirective()
14423 if (!checkTransformableLoopNest(OMPD_unroll, AStmt, NumLoops, LoopHelpers, in ActOnOpenMPUnrollDirective()
14431 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPUnrollDirective()
14445 Diag(AStmt->getBeginLoc(), diag::err_omp_unroll_full_variable_trip_count); in ActOnOpenMPUnrollDirective()
14456 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPUnrollDirective()
14503 collectLoopStmts(AStmt, {LoopStmt}); in ActOnOpenMPUnrollDirective()
14672 return OMPUnrollDirective::Create(Context, StartLoc, EndLoc, Clauses, AStmt, in ActOnOpenMPUnrollDirective()
14677 StmtResult SemaOpenMP::ActOnOpenMPReverseDirective(Stmt *AStmt, in ActOnOpenMPReverseDirective() argument
14684 if (!AStmt) in ActOnOpenMPReverseDirective()
14692 if (!checkTransformableLoopNest(OMPD_reverse, AStmt, NumLoops, LoopHelpers, in ActOnOpenMPReverseDirective()
14699 return OMPReverseDirective::Create(Context, StartLoc, EndLoc, AStmt, in ActOnOpenMPReverseDirective()
14710 collectLoopStmts(AStmt, {LoopStmt}); in ActOnOpenMPReverseDirective()
14859 return OMPReverseDirective::Create(Context, StartLoc, EndLoc, AStmt, in ActOnOpenMPReverseDirective()
14865 ArrayRef<OMPClause *> Clauses, Stmt *AStmt, SourceLocation StartLoc, in ActOnOpenMPInterchangeDirective() argument
14872 if (!AStmt) in ActOnOpenMPInterchangeDirective()
14882 if (!checkTransformableLoopNest(OMPD_interchange, AStmt, NumLoops, in ActOnOpenMPInterchangeDirective()
14889 NumLoops, AStmt, nullptr, nullptr); in ActOnOpenMPInterchangeDirective()
14903 collectLoopStmts(AStmt, LoopStmts); in ActOnOpenMPInterchangeDirective()
15012 NumLoops, AStmt, Inner, in ActOnOpenMPInterchangeDirective()
22866 Stmt *AStmt, in ActOnOpenMPScopeDirective() argument
22869 if (!AStmt) in ActOnOpenMPScopeDirective()
22875 AStmt); in ActOnOpenMPScopeDirective()