[PATCH] D38479: Make -mgeneral-regs-only more like GCC's

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 24 17:22:46 PDT 2019


efriedma added a subscriber: rsmith.
efriedma added a comment.

Does this have any significant impact on -fsyntax-only performance?

Hopefully @rsmith can take a quick look at the use of ConstantExpr here; I think it's fine, but we don't use ConstantExpr like that elsewhere.



================
Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:194
     Features.push_back("-crypto");
     Features.push_back("-neon");
+    // FIXME: Ideally, we'd also like to pass a `+general-regs-only` feature,
----------------
Do we need to get rid of the "-neon" etc.?


================
Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:197
+    // and do extra checking in the backend to be sure that we haven't
+    // accidentally introduced any FP ops.
   }
----------------
Can we add the feature now, even if it isn't backed by any actual code in the backend yet?


================
Comment at: clang/lib/Sema/SemaExprCXX.cpp:7997
+  bool isRValueOfIllegalType(const Expr *E) const {
+    return E->getValueKind() != VK_LValue && !isGeneralType(E);
+  }
----------------
Should this be `E->isRValue()`?  Not that the difference really matters for C, but it affects rvalue references in C++.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D38479/new/

https://reviews.llvm.org/D38479





More information about the cfe-commits mailing list