[PATCH] D37030: Fix ARMv4 support
Renato Golin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 23 03:30:32 PDT 2017
rengolin added inline comments.
================
Comment at: lib/Target/ARM/ARMAsmPrinter.cpp:1275
+ assert(Subtarget->hasV4TOps());
EmitToStreamer(*OutStreamer, MCInstBuilder(ARM::BX)
----------------
fhahn wrote:
> Maybe this assert would be clearer if the assert contained something like && "BX instructions are only available in ARMv4t and later". Applies to all added asserts in this patch
Well, both `BX_CALL` and `BX_RET` have `Requires<[IsARM, HasV4T]>`, which `ARMv4` (in `ARM.td`) doesn't have.
So, either this `BX_CALL` is being generated manually (and incorrectly), or there's something wrong with the ISel.
I think it's safe to assume that, if a target has `BX_CALL`, it also has `BX_RET`, so the assert here should be redundant.
Your princess might be in another castle. :)
PS: It's possible that the introduction of `getReturnOpcode()` has fixed that already.
Repository:
rL LLVM
https://reviews.llvm.org/D37030
More information about the llvm-commits
mailing list