diff options
author | Pablo Barrio <pablo.barrio@arm.com> | 2016-11-17 10:56:58 +0000 |
---|---|---|
committer | Pablo Barrio <pablo.barrio@arm.com> | 2016-11-17 10:56:58 +0000 |
commit | c41e856f5343585621229cc93ed734ee470e2515 (patch) | |
tree | d1d759f4d1a916c7822fc7c6bff4cc5943563780 /llvm/lib/Target/ARM/ARMISelLowering.cpp | |
parent | 4b84a9041acf2cb8cb12fba8959230ffd2329213 (diff) | |
download | bcm5719-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.cpp | 5 |
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. |