rjmccall added inline comments.
================ Comment at: clang/lib/AST/StmtProfile.cpp:777 + if (E) + Profiler->VisitStmt(E); + } ---------------- Can `E` actually be null here? ================ Comment at: clang/lib/CodeGen/CGExpr.cpp:3952 + CGM.getOpenMPRuntime().isNontemporalDecl(Field)) || + (!E->isArrow() && BaseLV.isNontemporal())) + LV.setNontemporal(/*Value=*/true); ---------------- Is the `!E->isArrow()` condition necessary here? Why not just propagate the non-temporality of the base? Similarly, what's the case in which the declaration is marked non-temporal and you *don't* want to trust that? ================ Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:11349 + NontemporalDeclsSet &DS = + CGM.getOpenMPRuntime().NontemporalDeclsStack.emplace_back(); + // No need to check for nontemporal clauses in non-simd directives. ---------------- This is effectively clearing the active non-temporal decls set. Is that okay (even for the non-SIMD directives?), or should the current set be copied? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71708/new/ https://reviews.llvm.org/D71708 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits