[PATCH] D33773: [ARM] llc -arm-execute-only with floating point runs into UNREACHABLE

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 9 11:17:04 PDT 2017


efriedma added a comment.

Custom-lowering the constant pool to a global isn't that terrible, I guess... it's ugly, and we can't share the globals across basic blocks, but it should behave correctly, as far as I know.



================
Comment at: lib/Target/ARM/ARMAsmPrinter.cpp:1250
+    // address of a Constant Pool.
+    if (Subtarget->genExecuteOnly()) {
+      const MCExpr *SymExpr = MCSymbolRefExpr::create(CPISymbol, OutContext);
----------------
christof wrote:
> These `*LEApcrel` are pseudo instructions that load a PC-relative address. They should **never** expand to MOVW/MOVT.
Yes, we shouldn't be messing with ARMAsmPrinter::EmitInstruction.


https://reviews.llvm.org/D33773





More information about the llvm-commits mailing list