reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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());