Speculatively disable x86 automatic tail call optimization while we track down a self-hosting issue.

llvm-svn: 95259
This commit is contained in:
Evan Cheng 2010-02-03 21:40:40 +00:00
parent ccbbdfa8c4
commit 5c8b1b9164
2 changed files with 4 additions and 0 deletions

View File

@ -52,6 +52,7 @@ using namespace llvm;
STATISTIC(NumTailCalls, "Number of tail calls");
static cl::opt<unsigned> TailCallLimit("tailcall-limit", cl::init(0));
static cl::opt<bool>
DisableMMX("disable-mmx", cl::Hidden, cl::desc("Disable use of MMX"));
@ -2271,6 +2272,8 @@ X86TargetLowering::IsEligibleForTailCallOptimization(SDValue Callee,
// Look for obvious safe cases to perform tail call optimization that does not
// requite ABI changes. This is what gcc calls sibcall.
if (NumTailCalls >= TailCallLimit)
return false;
// Do not tail call optimize vararg calls for now.
if (isVarArg)

View File

@ -1,5 +1,6 @@
; RUN: llc < %s -march=x86 -asm-verbose=false | FileCheck %s -check-prefix=32
; RUN: llc < %s -march=x86-64 -asm-verbose=false | FileCheck %s -check-prefix=64
; XFAIL: *
define void @t1(i32 %x) nounwind ssp {
entry: