reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 4965   assert(isOpenMPTaskLoopDirective(S.getDirectiveKind()));
 4967   const CapturedStmt *CS = S.getCapturedStmt(OMPD_taskloop);
 4971   for (const auto *C : S.getClausesOfKind<OMPIfClause>()) {
 4981   Data.Nogroup = S.getSingleClause<OMPNogroupClause>();
 4985   if (const auto* Clause = S.getSingleClause<OMPGrainsizeClause>()) {
 4989   } else if (const auto* Clause = S.getSingleClause<OMPNumTasksClause>()) {
 4995   auto &&BodyGen = [CS, &S](CodeGenFunction &CGF, PrePostActionTy &) {
 5007     OMPLoopScope PreInitScope(CGF, S);
 5008     if (CGF.ConstantFoldsToSimpleInteger(S.getPreCond(), CondConstant)) {
 5014       emitPreCond(CGF, S, S.getPreCond(), ThenBlock, ContBlock,
 5014       emitPreCond(CGF, S, S.getPreCond(), ThenBlock, ContBlock,
 5015                   CGF.getProfileCount(&S));
 5017       CGF.incrementProfileCounter(&S);
 5020     if (isOpenMPSimdDirective(S.getDirectiveKind()))
 5021       CGF.EmitOMPSimdInit(S);
 5031     mapParam(CGF, cast<DeclRefExpr>(S.getLowerBoundVariable()), *LBP,
 5033     mapParam(CGF, cast<DeclRefExpr>(S.getUpperBoundVariable()), *UBP,
 5035     mapParam(CGF, cast<DeclRefExpr>(S.getStrideVariable()), *STP, LoopScope);
 5036     mapParam(CGF, cast<DeclRefExpr>(S.getIsLastIterVariable()), *LIP,
 5038     CGF.EmitOMPPrivateLoopCounters(S, LoopScope);
 5039     bool HasLastprivateClause = CGF.EmitOMPLastprivateClauseInit(S, LoopScope);
 5042     const Expr *IVExpr = S.getIterationVariable();
 5045     CGF.EmitIgnoredExpr(S.getInit());
 5050     if (const auto *LIExpr = dyn_cast<DeclRefExpr>(S.getLastIteration())) {
 5053       CGF.EmitIgnoredExpr(S.getCalcLastIteration());
 5056     CGF.EmitOMPInnerLoop(S, LoopScope.requiresCleanups(), S.getCond(),
 5056     CGF.EmitOMPInnerLoop(S, LoopScope.requiresCleanups(), S.getCond(),
 5057                          S.getInc(),
 5058                          [&S](CodeGenFunction &CGF) {
 5059                            CGF.EmitOMPLoopBody(S, JumpDest());
 5060                            CGF.EmitStopPoint(&S);
 5071           S, isOpenMPSimdDirective(S.getDirectiveKind()),
 5071           S, isOpenMPSimdDirective(S.getDirectiveKind()),
 5074               (*LIP)->getType(), S.getBeginLoc())));
 5077   auto &&TaskGen = [&S, SharedsTy, CapturedStruct,
 5080     auto &&CodeGen = [&S, OutlinedFn, SharedsTy, CapturedStruct, IfCond,
 5082       OMPLoopScope PreInitScope(CGF, S);
 5083       CGF.CGM.getOpenMPRuntime().emitTaskLoopCall(CGF, S.getBeginLoc(), S,
 5083       CGF.CGM.getOpenMPRuntime().emitTaskLoopCall(CGF, S.getBeginLoc(), S,
 5091     EmitOMPTaskBasedDirective(S, OMPD_taskloop, BodyGen, TaskGen, Data);
 5095         [&S, &BodyGen, &TaskGen, &Data](CodeGenFunction &CGF,
 5098           CGF.EmitOMPTaskBasedDirective(S, OMPD_taskloop, BodyGen, TaskGen,
 5101         S.getBeginLoc());