[llvm-commits] [llvm] r91650 - /llvm/trunk/test/CodeGen/X86/tailcall1.ll

Dan Gohman gohman at apple.com
Thu Dec 17 17:05:06 PST 2009


Author: djg
Date: Thu Dec 17 19:05:06 2009
New Revision: 91650

URL: http://llvm.org/viewvc/llvm-project?rev=91650&view=rev
Log:
Tidy up this testcase and add test for tailcall optimization
with unreachable.

Modified:
    llvm/trunk/test/CodeGen/X86/tailcall1.ll

Modified: llvm/trunk/test/CodeGen/X86/tailcall1.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/tailcall1.ll?rev=91650&r1=91649&r2=91650&view=diff

==============================================================================
--- llvm/trunk/test/CodeGen/X86/tailcall1.ll (original)
+++ llvm/trunk/test/CodeGen/X86/tailcall1.ll Thu Dec 17 19:05:06 2009
@@ -1,12 +1,10 @@
-; RUN: llc < %s -march=x86 -tailcallopt | grep TAILCALL | count 4
-define fastcc i32 @tailcallee(i32 %a1, i32 %a2, i32 %a3, i32 %a4) {
-entry:
-	ret i32 %a3
-}
+; RUN: llc < %s -march=x86 -tailcallopt | grep TAILCALL | count 5
+
+declare fastcc i32 @tailcallee(i32 %a1, i32 %a2, i32 %a3, i32 %a4)
 
-define fastcc i32 @tailcaller(i32 %in1, i32 %in2) {
+define fastcc i32 @tailcaller(i32 %in1, i32 %in2) nounwind {
 entry:
-	%tmp11 = tail call fastcc i32 @tailcallee( i32 %in1, i32 %in2, i32 %in1, i32 %in2 )		; <i32> [#uses=1]
+	%tmp11 = tail call fastcc i32 @tailcallee(i32 %in1, i32 %in2, i32 %in1, i32 %in2)
 	ret i32 %tmp11
 }
 
@@ -30,3 +28,10 @@
   %p = tail call fastcc i32 @i32_callee()
   ret i32 undef
 }
+
+declare fastcc void @does_not_return()
+
+define fastcc i32 @noret() nounwind {
+  tail call fastcc void @does_not_return()
+  unreachable
+}





More information about the llvm-commits mailing list