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

References

tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 2317   const auto *IVExpr = cast<DeclRefExpr>(S.getIterationVariable());
 2324   if (const auto *LIExpr = dyn_cast<DeclRefExpr>(S.getLastIteration())) {
 2327     EmitIgnoredExpr(S.getCalcLastIteration());
 2335     OMPLoopScope PreInitScope(*this, S);
 2341     if (ConstantFoldsToSimpleInteger(S.getPreCond(), CondConstant)) {
 2347       emitPreCond(*this, S, S.getPreCond(), ThenBlock, ContBlock,
 2347       emitPreCond(*this, S, S.getPreCond(), ThenBlock, ContBlock,
 2348                   getProfileCount(&S));
 2350       incrementProfileCounter(&S);
 2355     if (const auto *OrderedClause = S.getSingleClause<OMPOrderedClause>()) {
 2357         RT.emitDoacrossInit(*this, S, OrderedClause->getLoopNumIterations());
 2363     emitAlignedClause(*this, S);
 2364     bool HasLinears = EmitOMPLinearClauseInit(S);
 2367     std::pair<LValue, LValue> Bounds = CodeGenLoopBounds(*this, S);
 2371         EmitOMPHelperVar(*this, cast<DeclRefExpr>(S.getStrideVariable()));
 2373         EmitOMPHelperVar(*this, cast<DeclRefExpr>(S.getIsLastIterVariable()));
 2378       if (EmitOMPFirstprivateClause(S, LoopScope) || HasLinears) {
 2383             *this, S.getBeginLoc(), OMPD_unknown, /*EmitChecks=*/false,
 2386       EmitOMPPrivateClause(S, LoopScope);
 2387       HasLastprivateClause = EmitOMPLastprivateClauseInit(S, LoopScope);
 2388       EmitOMPReductionClauseInit(S, LoopScope);
 2389       EmitOMPPrivateLoopCounters(S, LoopScope);
 2390       EmitOMPLinearClause(S, LoopScope);
 2392       if (isOpenMPTargetExecutionDirective(S.getDirectiveKind()))
 2393         CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(*this, S);
 2398       if (const auto *C = S.getSingleClause<OMPScheduleClause>()) {
 2406             *this, S, ScheduleKind.Schedule, ChunkExpr);
 2413                                      S.getIterationVariable()->getType(),
 2414                                      S.getBeginLoc());
 2429           isOpenMPLoopBoundSharingDirective(S.getDirectiveKind());
 2434         if (isOpenMPSimdDirective(S.getDirectiveKind()))
 2435           EmitOMPSimdInit(S, /*IsMonotonic=*/true);
 2445         RT.emitForStaticInit(*this, S.getBeginLoc(), S.getDirectiveKind(),
 2445         RT.emitForStaticInit(*this, S.getBeginLoc(), S.getDirectiveKind(),
 2451           EmitIgnoredExpr(S.getEnsureUpperBound());
 2453         EmitIgnoredExpr(S.getInit());
 2467         EmitOMPInnerLoop(S, LoopScope.requiresCleanups(),
 2468             StaticChunkedOne ? S.getCombinedParForInDistCond() : S.getCond(),
 2468             StaticChunkedOne ? S.getCombinedParForInDistCond() : S.getCond(),
 2469             StaticChunkedOne ? S.getDistInc() : S.getInc(),
 2469             StaticChunkedOne ? S.getDistInc() : S.getInc(),
 2470             [&S, LoopExit](CodeGenFunction &CGF) {
 2471              CGF.EmitOMPLoopBody(S, LoopExit);
 2472              CGF.EmitStopPoint(&S);
 2477         auto &&CodeGen = [&S](CodeGenFunction &CGF) {
 2478           CGF.CGM.getOpenMPRuntime().emitForStaticFinish(CGF, S.getEndLoc(),
 2479                                                          S.getDirectiveKind());
 2481         OMPCancelStack.emitExit(*this, S.getDirectiveKind(), CodeGen);
 2493         EmitOMPForOuterLoop(ScheduleKind, IsMonotonic, S, LoopScope, Ordered,
 2496       if (isOpenMPSimdDirective(S.getDirectiveKind())) {
 2497         EmitOMPSimdFinal(S, [IL, &S](CodeGenFunction &CGF) {
 2497         EmitOMPSimdFinal(S, [IL, &S](CodeGenFunction &CGF) {
 2499               CGF.EmitLoadOfScalar(IL, S.getBeginLoc()));
 2503           S, /*ReductionKind=*/isOpenMPSimdDirective(S.getDirectiveKind())
 2503           S, /*ReductionKind=*/isOpenMPSimdDirective(S.getDirectiveKind())
 2508           *this, S, [IL, &S](CodeGenFunction &CGF) {
 2508           *this, S, [IL, &S](CodeGenFunction &CGF) {
 2510                 CGF.EmitLoadOfScalar(IL, S.getBeginLoc()));
 2515             S, isOpenMPSimdDirective(S.getDirectiveKind()),
 2515             S, isOpenMPSimdDirective(S.getDirectiveKind()),
 2516             Builder.CreateIsNotNull(EmitLoadOfScalar(IL, S.getBeginLoc())));
 2518     EmitOMPLinearClauseFinal(S, [IL, &S](CodeGenFunction &CGF) {
 2518     EmitOMPLinearClauseFinal(S, [IL, &S](CodeGenFunction &CGF) {
 2520           CGF.EmitLoadOfScalar(IL, S.getBeginLoc()));