summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.cpp
diff options
context:
space:
mode:
authorPablo Barrio <pablo.barrio@arm.com>2016-11-17 10:56:58 +0000
committerPablo Barrio <pablo.barrio@arm.com>2016-11-17 10:56:58 +0000
commitc41e856f5343585621229cc93ed734ee470e2515 (patch)
treed1d759f4d1a916c7822fc7c6bff4cc5943563780 /llvm/lib/Target/ARM/ARMISelLowering.cpp
parent4b84a9041acf2cb8cb12fba8959230ffd2329213 (diff)
downloadbcm5719-llvm-c41e856f5343585621229cc93ed734ee470e2515.tar.gz
bcm5719-llvm-c41e856f5343585621229cc93ed734ee470e2515.zip
[ARM] Relax restriction on variadic functions for tailcall optimization
Summary: Variadic functions can be treated in the same way as normal functions with respect to the number and types of parameters. Reviewers: grosbach, olista01, t.p.northover, rengolin Subscribers: javed.absar, aemerson, llvm-commits Differential Revision: https://reviews.llvm.org/D26748 llvm-svn: 287219
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp5
1 files changed, 0 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 20406ef350e..7c741824161 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -2314,11 +2314,6 @@ ARMTargetLowering::IsEligibleForTailCallOptimization(SDValue Callee,
// Look for obvious safe cases to perform tail call optimization that do not
// require ABI changes. This is what gcc calls sibcall.
- // Do not sibcall optimize vararg calls unless the call site is not passing
- // any arguments.
- if (isVarArg && !Outs.empty())
- return false;
-
// Exception-handling functions need a special set of instructions to indicate
// a return to the hardware. Tail-calling another function would probably
// break this.
OpenPOWER on IntegriCloud