diff options
author | Chad Rosier <mcrosier@apple.com> | 2011-06-24 21:15:36 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2011-06-24 21:15:36 +0000 |
commit | 2416da36ace2130607c652a94b814de7e724efeb (patch) | |
tree | 0d74df04557cdd2bcc4090cdd1f289f61479756e | |
parent | 56fc6420000876460e8c89c0e7c0ae83ebb5ccf0 (diff) |
Hoist simple check above more complex checking to avoid unnecessary
overheads. No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133824 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 13bef08fe5..6c606be591 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -2556,6 +2556,11 @@ X86TargetLowering::IsEligibleForTailCallOptimization(SDValue Callee, if (isCalleeStructRet || isCallerStructRet) return false; + // An stdcall caller is expected to clean up its arguments; the callee + // isn't going to do that. + if (!CCMatch && CallerCC==CallingConv::X86_StdCall) + return false; + // Do not sibcall optimize vararg calls unless all arguments are passed via // registers. if (isVarArg && !Outs.empty()) { @@ -2692,11 +2697,6 @@ X86TargetLowering::IsEligibleForTailCallOptimization(SDValue Callee, } } - // An stdcall caller is expected to clean up its arguments; the callee - // isn't going to do that. - if (!CCMatch && CallerCC==CallingConv::X86_StdCall) - return false; - return true; } |