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

References

tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 1773   assert(isOpenMPSimdDirective(S.getDirectiveKind()) &&
 1775   OMPLoopScope PreInitScope(CGF, S);
 1781   if (isOpenMPDistributeDirective(S.getDirectiveKind()) ||
 1782       isOpenMPWorksharingDirective(S.getDirectiveKind()) ||
 1783       isOpenMPTaskLoopDirective(S.getDirectiveKind())) {
 1784     (void)EmitOMPHelperVar(CGF, cast<DeclRefExpr>(S.getLowerBoundVariable()));
 1785     (void)EmitOMPHelperVar(CGF, cast<DeclRefExpr>(S.getUpperBoundVariable()));
 1793   if (CGF.ConstantFoldsToSimpleInteger(S.getPreCond(), CondConstant)) {
 1799     emitPreCond(CGF, S, S.getPreCond(), ThenBlock, ContBlock,
 1799     emitPreCond(CGF, S, S.getPreCond(), ThenBlock, ContBlock,
 1800                 CGF.getProfileCount(&S));
 1802     CGF.incrementProfileCounter(&S);
 1806   const Expr *IVExpr = S.getIterationVariable();
 1809   CGF.EmitIgnoredExpr(S.getInit());
 1814   if (const auto *LIExpr = dyn_cast<DeclRefExpr>(S.getLastIteration())) {
 1817     CGF.EmitIgnoredExpr(S.getCalcLastIteration());
 1820   CGF.EmitOMPSimdInit(S);
 1822   emitAlignedClause(CGF, S);
 1823   (void)CGF.EmitOMPLinearClauseInit(S);
 1826     CGF.EmitOMPPrivateLoopCounters(S, LoopScope);
 1827     CGF.EmitOMPLinearClause(S, LoopScope);
 1828     CGF.EmitOMPPrivateClause(S, LoopScope);
 1829     CGF.EmitOMPReductionClauseInit(S, LoopScope);
 1830     bool HasLastprivateClause = CGF.EmitOMPLastprivateClauseInit(S, LoopScope);
 1832     if (isOpenMPTargetExecutionDirective(S.getDirectiveKind()))
 1833       CGF.CGM.getOpenMPRuntime().adjustTargetSpecificDataForLambdas(CGF, S);
 1834     CGF.EmitOMPInnerLoop(S, LoopScope.requiresCleanups(), S.getCond(),
 1834     CGF.EmitOMPInnerLoop(S, LoopScope.requiresCleanups(), S.getCond(),
 1835                          S.getInc(),
 1836                          [&S](CodeGenFunction &CGF) {
 1837                            CGF.EmitOMPLoopBody(S, CodeGenFunction::JumpDest());
 1838                            CGF.EmitStopPoint(&S);
 1841     CGF.EmitOMPSimdFinal(S, [](CodeGenFunction &) { return nullptr; });
 1844       CGF.EmitOMPLastprivateClauseFinal(S, /*NoFinals=*/true);
 1845     CGF.EmitOMPReductionClauseFinal(S, /*ReductionKind=*/OMPD_simd);
 1846     emitPostUpdateForReductionClause(CGF, S,
 1849   CGF.EmitOMPLinearClauseFinal(S, [](CodeGenFunction &) { return nullptr; });