[llvm-commits] [llvm] r111050 - in /llvm/trunk: ./ lib/Target/ARM/ARMISelLowering.cpp test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll test/CodeGen/ARM/call-tc.ll test/CodeGen/Thumb2/thumb2-call-tc.ll test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll

Bob Wilson bob.wilson at apple.com
Fri Aug 13 15:43:34 PDT 2010


Author: bwilson
Date: Fri Aug 13 17:43:33 2010
New Revision: 111050

URL: http://llvm.org/viewvc/llvm-project?rev=111050&view=rev
Log:
Temporarily disable tail calls on ARM to work around some linker problems.

Modified:
    llvm/trunk/   (props changed)
    llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
    llvm/trunk/test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll
    llvm/trunk/test/CodeGen/ARM/call-tc.ll
    llvm/trunk/test/CodeGen/Thumb2/thumb2-call-tc.ll
    llvm/trunk/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll

Propchange: llvm/trunk/
------------------------------------------------------------------------------
    svn:mergeinfo = /llvm/branches/Apple/Pertwee:110850,110961

Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=111050&r1=111049&r2=111050&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Fri Aug 13 17:43:33 2010
@@ -51,6 +51,12 @@
 
 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 @@
   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,

Modified: llvm/trunk/test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll?rev=111050&r1=111049&r2=111050&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll Fri Aug 13 17:43:33 2010
@@ -1,5 +1,6 @@
 ; RUN: llc < %s -march=arm -mtriple=armv4t-unknown-linux-gnueabi  | FileCheck %s
 ; PR 7433
+; XFAIL: *
 
 %0 = type { i8*, i8* }
 %1 = type { i8*, i8*, i8* }

Modified: llvm/trunk/test/CodeGen/ARM/call-tc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/call-tc.ll?rev=111050&r1=111049&r2=111050&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/call-tc.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/call-tc.ll Fri Aug 13 17:43:33 2010
@@ -2,6 +2,7 @@
 ; RUN: llc < %s -march=arm -mtriple=arm-apple-darwin -mattr=+v5t | FileCheck %s -check-prefix=CHECKV5
 ; RUN: llc < %s -march=arm -mtriple=arm-linux-gnueabi\
 ; RUN:   -relocation-model=pic | FileCheck %s -check-prefix=CHECKELF
+; XFAIL: *
 
 @t = weak global i32 ()* null           ; <i32 ()**> [#uses=1]
 

Modified: llvm/trunk/test/CodeGen/Thumb2/thumb2-call-tc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-call-tc.ll?rev=111050&r1=111049&r2=111050&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb2/thumb2-call-tc.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb2/thumb2-call-tc.ll Fri Aug 13 17:43:33 2010
@@ -1,5 +1,6 @@
 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mattr=+thumb2 | FileCheck %s -check-prefix=DARWIN
 ; RUN: llc < %s -mtriple=thumbv7-linux -mattr=+thumb2 | FileCheck %s -check-prefix=LINUX
+; XFAIL: *
 
 @t = weak global i32 ()* null           ; <i32 ()**> [#uses=1]
 

Modified: llvm/trunk/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll?rev=111050&r1=111049&r2=111050&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll (original)
+++ llvm/trunk/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll Fri Aug 13 17:43:33 2010
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s
+; XFAIL: *
 
 define i32 @t1(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
 ; CHECK: t1:





More information about the llvm-commits mailing list