reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3377 const auto *IVExpr = cast<DeclRefExpr>(S.getIterationVariable()); 3384 if (const auto *LIExpr = dyn_cast<DeclRefExpr>(S.getLastIteration())) { 3387 EmitIgnoredExpr(S.getCalcLastIteration()); 3395 OMPLoopScope PreInitScope(*this, S); 3401 if (ConstantFoldsToSimpleInteger(S.getPreCond(), CondConstant)) { 3407 emitPreCond(*this, S, S.getPreCond(), ThenBlock, ContBlock, 3407 emitPreCond(*this, S, S.getPreCond(), ThenBlock, ContBlock, 3408 getProfileCount(&S)); 3410 incrementProfileCounter(&S); 3413 emitAlignedClause(*this, S); 3420 (isOpenMPLoopBoundSharingDirective(S.getDirectiveKind()) 3421 ? S.getCombinedLowerBoundVariable() 3422 : S.getLowerBoundVariable()))); 3425 (isOpenMPLoopBoundSharingDirective(S.getDirectiveKind()) 3426 ? S.getCombinedUpperBoundVariable() 3427 : S.getUpperBoundVariable()))); 3429 EmitOMPHelperVar(*this, cast<DeclRefExpr>(S.getStrideVariable())); 3431 EmitOMPHelperVar(*this, cast<DeclRefExpr>(S.getIsLastIterVariable())); 3434 if (EmitOMPFirstprivateClause(S, LoopScope)) { 3439 *this, S.getBeginLoc(), OMPD_unknown, /*EmitChecks=*/false, 3442 EmitOMPPrivateClause(S, LoopScope); 3443 if (isOpenMPSimdDirective(S.getDirectiveKind()) && 3444 !isOpenMPParallelDirective(S.getDirectiveKind()) && 3445 !isOpenMPTeamsDirective(S.getDirectiveKind())) 3446 EmitOMPReductionClauseInit(S, LoopScope); 3447 HasLastprivateClause = EmitOMPLastprivateClauseInit(S, LoopScope); 3448 EmitOMPPrivateLoopCounters(S, LoopScope); 3450 if (isOpenMPTargetExecutionDirective(S.getDirectiveKind())) 3451 CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(*this, S); 3456 if (const auto *C = S.getSingleClause<OMPDistScheduleClause>()) { 3461 S.getIterationVariable()->getType(), 3462 S.getBeginLoc()); 3467 *this, S, ScheduleKind, Chunk); 3482 isOpenMPLoopBoundSharingDirective(S.getDirectiveKind()); 3486 if (isOpenMPSimdDirective(S.getDirectiveKind())) 3487 EmitOMPSimdInit(S, /*IsMonotonic=*/true); 3492 RT.emitDistributeStaticInit(*this, S.getBeginLoc(), ScheduleKind, 3497 EmitIgnoredExpr(isOpenMPLoopBoundSharingDirective(S.getDirectiveKind()) 3498 ? S.getCombinedEnsureUpperBound() 3499 : S.getEnsureUpperBound()); 3501 EmitIgnoredExpr(isOpenMPLoopBoundSharingDirective(S.getDirectiveKind()) 3502 ? S.getCombinedInit() 3503 : S.getInit()); 3506 isOpenMPLoopBoundSharingDirective(S.getDirectiveKind()) 3507 ? S.getCombinedCond() 3508 : S.getCond(); 3511 Cond = S.getCombinedDistCond(); 3537 EmitOMPInnerLoop(S, LoopScope.requiresCleanups(), Cond, IncExpr, 3538 [&S, LoopExit, &CodeGenLoop](CodeGenFunction &CGF) { 3539 CodeGenLoop(CGF, S, LoopExit); 3541 [&S, StaticChunked](CodeGenFunction &CGF) { 3543 CGF.EmitIgnoredExpr(S.getCombinedNextLowerBound()); 3544 CGF.EmitIgnoredExpr(S.getCombinedNextUpperBound()); 3545 CGF.EmitIgnoredExpr(S.getCombinedEnsureUpperBound()); 3546 CGF.EmitIgnoredExpr(S.getCombinedInit()); 3551 RT.emitForStaticFinish(*this, S.getBeginLoc(), S.getDirectiveKind()); 3551 RT.emitForStaticFinish(*this, S.getBeginLoc(), S.getDirectiveKind()); 3558 EmitOMPDistributeOuterLoop(ScheduleKind, S, LoopScope, LoopArguments, 3561 if (isOpenMPSimdDirective(S.getDirectiveKind())) { 3562 EmitOMPSimdFinal(S, [IL, &S](CodeGenFunction &CGF) { 3562 EmitOMPSimdFinal(S, [IL, &S](CodeGenFunction &CGF) { 3564 CGF.EmitLoadOfScalar(IL, S.getBeginLoc())); 3567 if (isOpenMPSimdDirective(S.getDirectiveKind()) && 3568 !isOpenMPParallelDirective(S.getDirectiveKind()) && 3569 !isOpenMPTeamsDirective(S.getDirectiveKind())) { 3570 EmitOMPReductionClauseFinal(S, OMPD_simd); 3573 *this, S, [IL, &S](CodeGenFunction &CGF) { 3573 *this, S, [IL, &S](CodeGenFunction &CGF) { 3575 CGF.EmitLoadOfScalar(IL, S.getBeginLoc())); 3581 S, /*NoFinals=*/false, 3582 Builder.CreateIsNotNull(EmitLoadOfScalar(IL, S.getBeginLoc())));