summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopUnswitch
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-06-02 22:52:56 +0000
committerDevang Patel <dpatel@apple.com>2008-06-02 22:52:56 +0000
commit2f170997b5349bf7e9ef4cb5cb38af5f7df0c54b (patch)
treec2f74561c93cfaf58e6f68d1f8a34d9024445dd0 /test/Transforms/LoopUnswitch
parent33b625bee429986b2b3bd11108816d256df39334 (diff)
downloadllvm-2f170997b5349bf7e9ef4cb5cb38af5f7df0c54b.tar.gz
llvm-2f170997b5349bf7e9ef4cb5cb38af5f7df0c54b.tar.bz2
llvm-2f170997b5349bf7e9ef4cb5cb38af5f7df0c54b.tar.xz
Update dom tree. Fix PR 2372.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51887 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r--test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll b/test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll
new file mode 100644
index 0000000000..dcf41c34a4
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll
@@ -0,0 +1,26 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -instcombine -gvn -disable-output
+; PR2372
+target triple = "i386-pc-linux-gnu"
+
+define i32 @func_3(i16 signext %p_5, i16 signext %p_6) nounwind {
+entry:
+ %tmp3 = icmp eq i16 %p_5, 0 ; <i1> [#uses=1]
+ %tmp1314 = sext i16 %p_6 to i32 ; <i32> [#uses=1]
+ %tmp28 = icmp ugt i32 %tmp1314, 3 ; <i1> [#uses=1]
+ %bothcond = or i1 %tmp28, false ; <i1> [#uses=1]
+ br label %bb
+bb: ; preds = %bb54, %entry
+ br i1 %tmp3, label %bb54, label %bb5
+bb5: ; preds = %bb
+ br i1 %bothcond, label %bb54, label %bb31
+bb31: ; preds = %bb5
+ br label %bb54
+bb54: ; preds = %bb31, %bb5, %bb
+ br i1 false, label %bb64, label %bb
+bb64: ; preds = %bb54
+ %tmp6566 = sext i16 %p_6 to i32 ; <i32> [#uses=1]
+ %tmp68 = tail call i32 (...)* @func_18( i32 1, i32 %tmp6566, i32 1 ) nounwind ; <i32> [#uses=0]
+ ret i32 undef
+}
+
+declare i32 @func_18(...)