]> granicus.if.org Git - llvm/commit
[ARM] Prefer indirect calls in minsize mode
authorJames Molloy <james.molloy@arm.com>
Fri, 15 Jul 2016 07:55:21 +0000 (07:55 +0000)
committerJames Molloy <james.molloy@arm.com>
Fri, 15 Jul 2016 07:55:21 +0000 (07:55 +0000)
commitdecaafe6c2354fabf91ffdef3172d786b8da6f7a
treeec51d31f6e995ddc4945f89e96c680ea8550a88f
parent498a8f954686290cd2221661b1e98bd1f58d8821
[ARM] Prefer indirect calls in minsize mode

... When we emit several calls to the same function in the same basic block.

An indirect call uses a "BLX r0" instruction which has a 16-bit encoding. If many calls are made to the same target, this can enable significant code size reductions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275537 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/minsize-call-cse.ll [new file with mode: 0644]