New testcase, this should be -tailcallelim'inated
authorChris Lattner <sabre@nondot.org>
Mon, 8 Dec 2003 05:32:48 +0000 (05:32 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 8 Dec 2003 05:32:48 +0000 (05:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10311 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/TailCallElim/intervening-inst.ll [new file with mode: 0644]

diff --git a/test/Transforms/TailCallElim/intervening-inst.ll b/test/Transforms/TailCallElim/intervening-inst.ll
new file mode 100644 (file)
index 0000000..92873b8
--- /dev/null
@@ -0,0 +1,19 @@
+; This function contains intervening instructions which should be moved out of the way
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
+
+int %Test(int %X) {
+entry:
+        %tmp.1 = seteq int %X, 0
+        br bool %tmp.1, label %then.0, label %endif.0
+
+then.0:
+        %tmp.4 = add int %X, 1
+        ret int %tmp.4
+
+endif.0:
+        %tmp.10 = add int %X, -1
+        %tmp.8 = call int %Test(int %tmp.10)
+       %DUMMY = add int %X, 1                ;; This should not prevent elimination
+        ret int %tmp.8
+}
+