[ARM] Do not perform a tail call when the caller returns several values.
authorQuentin Colombet <qcolombet@apple.com>
Thu, 18 Sep 2014 21:17:50 +0000 (21:17 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Thu, 18 Sep 2014 21:17:50 +0000 (21:17 +0000)
commit65edced76b8e1a3fdccb136fb33288b0ed150477
tree34fdf39af7f14c2880a5107c1a27bb2c45bf20d1
parente3d674f88dbe6cd80ddd003c99ec4d6b512b2500
[ARM] Do not perform a tail call when the caller returns several values.
The fix is slightly different then x86 (see r216117) because the number of values
attached to a return can vary even for a single returned value (e.g., f64 yields
two returned values).

<rdar://problem/18352998>

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