diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2010-08-13 22:43:33 +0000 |
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2010-08-13 22:43:33 +0000 |
| commit | a5142538b3506d24c90018f185f8f1f36165fd5f (patch) | |
| tree | abec342decc824a5c5f990447a28efbfe44fcb21 /lib | |
| parent | 83447724884122e84541b83a315189eb8ce34c30 (diff) | |
| download | external_llvm-a5142538b3506d24c90018f185f8f1f36165fd5f.zip external_llvm-a5142538b3506d24c90018f185f8f1f36165fd5f.tar.gz external_llvm-a5142538b3506d24c90018f185f8f1f36165fd5f.tar.bz2 | |
Temporarily disable tail calls on ARM to work around some linker problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111050 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Target/ARM/ARMISelLowering.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index 073528a..5a03a07 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -51,6 +51,12 @@ using namespace llvm; STATISTIC(NumTailCalls, "Number of tail calls"); +// This option should go away when tail calls fully work. +static cl::opt<bool> +EnableARMTailCalls("arm-tail-calls", cl::Hidden, + cl::desc("Generate tail calls (TEMPORARY OPTION)."), + cl::init(false)); + // This option should go away when Machine LICM is smart enough to hoist a // reg-to-reg VDUP. static cl::opt<bool> @@ -1117,6 +1123,9 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee, MachineFunction &MF = DAG.getMachineFunction(); bool IsStructRet = (Outs.empty()) ? false : Outs[0].Flags.isSRet(); bool IsSibCall = false; + // Temporarily disable tail calls so things don't break. + if (!EnableARMTailCalls) + isTailCall = false; if (isTailCall) { // Check if it's really possible to do a tail call. isTailCall = IsEligibleForTailCallOptimization(Callee, CallConv, |
