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

Christof Douma via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 7 05:16:05 PDT 2017


christof added a comment.

The ARM code generator emits constant pools in a custom way. I believe that is to get them in-line with the code as a constant-pool in .text. But I think that Eli Friedman is right that for this use case it is possible to use the standard LLVM way of emitting them.



================
Comment at: test/CodeGen/ARM/constantfp.ll:180
+
+; This is a target independant optimization, performed by the
+; DAG Combiner and should be disabled for execute-only code:
----------------
typo: independent


================
Comment at: test/CodeGen/ARM/constantfp.ll:184
+;
+; (a cond b) ? 1.0f : 2.0f -> load (tmp + ((a cond b) ? 0 : 4)
+;
----------------
I assume 'tmp' here refers to the address of a constant pool that contains the 2 floating point constants. You could use something like  'ConstantPoolAddr' instead of 'tmp' to make that more explicit.


https://reviews.llvm.org/D33773





More information about the llvm-commits mailing list