summaryrefslogtreecommitdiffstats
path: root/test/Transforms/LoopUnswitch
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-22 23:54:15 +0000
committerChris Lattner <sabre@nondot.org>2006-02-22 23:54:15 +0000
commit116ae7c067b774c2dbdd95775e826e943a16dec9 (patch)
tree9534d1e279e95b278d7c8b52479c88e0c5215b99 /test/Transforms/LoopUnswitch
parent9b6fb5de49f30d03b3e3f2fcb99e777b3149b783 (diff)
downloadexternal_llvm-116ae7c067b774c2dbdd95775e826e943a16dec9.zip
external_llvm-116ae7c067b774c2dbdd95775e826e943a16dec9.tar.gz
external_llvm-116ae7c067b774c2dbdd95775e826e943a16dec9.tar.bz2
new testcase distilled from SPASS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26319 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r--test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll b/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll
new file mode 100644
index 0000000..7b02887
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/2006-02-22-UnswitchCrash.ll
@@ -0,0 +1,42 @@
+; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
+
+void %sort_Eq(int * %S2) {
+entry:
+ br bool false, label %list_Length.exit, label %cond_true.i
+
+cond_true.i: ; preds = %entry
+ ret void
+
+list_Length.exit: ; preds = %entry
+ br bool false, label %list_Length.exit9, label %cond_true.i5
+
+cond_true.i5: ; preds = %list_Length.exit
+ ret void
+
+list_Length.exit9: ; preds = %list_Length.exit
+ br bool false, label %bb78, label %return
+
+bb44: ; preds = %bb78, %cond_next68
+ br bool %tmp49.not, label %bb62, label %bb62.loopexit
+
+bb62.loopexit: ; preds = %bb44
+ br label %bb62
+
+bb62: ; preds = %bb62.loopexit, %bb44
+ br bool false, label %return.loopexit, label %cond_next68
+
+cond_next68: ; preds = %bb62
+ br bool false, label %return.loopexit, label %bb44
+
+bb78: ; preds = %list_Length.exit9
+ %tmp49.not = seteq int* %S2, null ; <bool> [#uses=1]
+ br label %bb44
+
+return.loopexit: ; preds = %cond_next68, %bb62
+ %retval.0.ph = phi uint [ 1, %cond_next68 ], [ 0, %bb62 ] ; <uint> [#uses=1]
+ br label %return
+
+return: ; preds = %return.loopexit, %list_Length.exit9
+ %retval.0 = phi uint [ 0, %list_Length.exit9 ], [ %retval.0.ph, %return.loopexit ] ; <uint> [#uses=0]
+ ret void
+}