summaryrefslogtreecommitdiff
path: root/test/Transforms/TailDup
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2008-05-13 20:06:43 +0000
committerDale Johannesen <dalej@apple.com>2008-05-13 20:06:43 +0000
commit72997fedab2cac75e783e3507c9ac0a6af567569 (patch)
treeac840347e8c334616bd84ab6bfbbe4f0fe855ec6 /test/Transforms/TailDup
parent3b34e1e9e8af6d173699fd2de937fc609752a048 (diff)
downloadllvm-72997fedab2cac75e783e3507c9ac0a6af567569.tar.gz
llvm-72997fedab2cac75e783e3507c9ac0a6af567569.tar.bz2
llvm-72997fedab2cac75e783e3507c9ac0a6af567569.tar.xz
Fix for PR 2323, infinite loop in tail dup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/TailDup')
-rw-r--r--test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll b/test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll
new file mode 100644
index 0000000000..a67e8cdd0c
--- /dev/null
+++ b/test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll
@@ -0,0 +1,26 @@
+; RUN: llvm-as < %s | opt -tailduplicate | llc
+; PR2323
+
+define i32 @func_27(i32 %p_28) nounwind {
+entry:
+ %tmp125 = trunc i32 %p_28 to i8 ; <i8> [#uses=1]
+ %tmp5.i = icmp eq i8 %tmp125, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i, label %bb8.i, label %bb.i
+
+bb.i: ; preds = %entry
+ br label %bb39.i
+
+bb8.i: ; preds = %entry
+ br label %bb11.i
+
+bb11.i: ; preds = %bb39.i, %bb8.i
+ %tmp126 = trunc i32 %p_28 to i8 ; <i8> [#uses=1]
+ br label %bb39.i
+
+bb39.i: ; preds = %bb11.i, %bb.i
+ %tmp127 = trunc i32 %p_28 to i8 ; <i8> [#uses=1]
+ br label %bb11.i
+
+func_29.exit: ; No predecessors!
+ ret i32 undef
+}