summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-12-08 05:32:48 +0000
committerChris Lattner <sabre@nondot.org>2003-12-08 05:32:48 +0000
commit63c08be5e7e8f76136f6c222141f7e236d906e40 (patch)
tree5134cc244f1c7cee04c2223abcf9d7eb81bf4498 /test
parenta08bca95a70fcceccc3a5f4de68e4462a95f857d (diff)
downloadllvm-63c08be5e7e8f76136f6c222141f7e236d906e40.tar.gz
llvm-63c08be5e7e8f76136f6c222141f7e236d906e40.tar.bz2
llvm-63c08be5e7e8f76136f6c222141f7e236d906e40.tar.xz
New testcase, this should be -tailcallelim'inated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10311 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/TailCallElim/intervening-inst.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Transforms/TailCallElim/intervening-inst.ll b/test/Transforms/TailCallElim/intervening-inst.ll
new file mode 100644
index 0000000000..92873b8a2d
--- /dev/null
+++ b/test/Transforms/TailCallElim/intervening-inst.ll
@@ -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
+}
+