Enable tail calls on ARM by default, with some
authorDale Johannesen <dalej@apple.com>
Fri, 18 Jun 2010 19:00:18 +0000 (19:00 +0000)
committerDale Johannesen <dalej@apple.com>
Fri, 18 Jun 2010 19:00:18 +0000 (19:00 +0000)
commitc66cdf74a9f1ee12cb9bff39cbd6bc518fbc2d3e
tree202dd9a0b8b2c93ff8c1f1b5a0c22641bf9517d2
parent71f095b20a2b1710d35b81fced4ae8b2ca1a6f61
Enable tail calls on ARM by default, with some
basic tests.

This has been well tested on Darwin but not elsewhere.
It should work provided the linker correctly resolves
  B.W  <label in other function>
which it has not seen before, at least from llvm-based
compilers.  I'm leaving the arm-tail-calls switch in
until I see if there's any problems because of that;
it might need to be disabled for some environments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106299 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/call-tc.ll [new file with mode: 0644]
test/CodeGen/ARM/ifcvt6-tc.ll [new file with mode: 0644]
test/CodeGen/ARM/insn-sched1-tc.ll [new file with mode: 0644]
test/CodeGen/ARM/ldm-tc.ll [new file with mode: 0644]
test/CodeGen/Thumb2/thumb2-call-tc.ll [new file with mode: 0644]
test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll [new file with mode: 0644]