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

References

tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 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())));