]> granicus.if.org Git - llvm/commit
[ARM GlobalISel] Fix call opcodes
authorDiana Picus <diana.picus@linaro.org>
Wed, 25 Oct 2017 11:42:40 +0000 (11:42 +0000)
committerDiana Picus <diana.picus@linaro.org>
Wed, 25 Oct 2017 11:42:40 +0000 (11:42 +0000)
commit9c73fda2bc63fa68ad2b96c5b787b3e13d7e7871
treec43ea4348362893a9403cb4c4027ef41755fe74e
parent1f82616ce4f2271ebfa297496fafb429389225b4
[ARM GlobalISel] Fix call opcodes

We were generating BLX for all the calls, which was incorrect in most
cases. Update ARMCallLowering to generate BL for direct calls, and BLX,
BX_CALL or BMOVPCRX_CALL for indirect calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316570 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMCallLowering.cpp
test/CodeGen/ARM/GlobalISel/arm-call-lowering.ll
test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll
test/CodeGen/ARM/GlobalISel/arm-isel-fp.ll
test/CodeGen/ARM/GlobalISel/arm-isel.ll
test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir
test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
test/CodeGen/ARM/GlobalISel/arm-param-lowering.ll