summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-08-15 23:45:28 +0000
committerChris Lattner <sabre@nondot.org>2006-08-15 23:45:28 +0000
commitd039da9b41e1ec3f40bf92f3f5ad18e37145eef6 (patch)
tree1901374d906286bb6bb5d1ba23c4ca272b996a02 /test
parentdfb8607397cba373ad75c9491a7d35e130299e63 (diff)
downloadllvm-d039da9b41e1ec3f40bf92f3f5ad18e37145eef6.tar.gz
llvm-d039da9b41e1ec3f40bf92f3f5ad18e37145eef6.tar.bz2
llvm-d039da9b41e1ec3f40bf92f3f5ad18e37145eef6.tar.xz
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29714 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/PowerPC/2006-08-15-SelectionCrash.ll38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/2006-08-15-SelectionCrash.ll b/test/CodeGen/PowerPC/2006-08-15-SelectionCrash.ll
new file mode 100644
index 0000000000..2218fcad7b
--- /dev/null
+++ b/test/CodeGen/PowerPC/2006-08-15-SelectionCrash.ll
@@ -0,0 +1,38 @@
+; RUN: llvm-as < %s | llc
+
+ %struct..0anon = type { int }
+ %struct.rtx_def = type { ushort, ubyte, ubyte, [1 x %struct..0anon] }
+
+implementation ; Functions:
+
+fastcc void %immed_double_const(int %i0, int %i1) {
+entry:
+ %tmp1 = load uint* null ; <uint> [#uses=1]
+ switch uint %tmp1, label %bb103 [
+ uint 1, label %bb
+ uint 3, label %bb
+ ]
+
+bb: ; preds = %entry, %entry
+ %tmp14 = setgt int 0, 31 ; <bool> [#uses=1]
+ br bool %tmp14, label %cond_next77, label %cond_next17
+
+cond_next17: ; preds = %bb
+ ret void
+
+cond_next77: ; preds = %bb
+ %tmp79.not = setne int %i1, 0 ; <bool> [#uses=1]
+ %tmp84 = setlt int %i0, 0 ; <bool> [#uses=2]
+ %bothcond1 = or bool %tmp79.not, %tmp84 ; <bool> [#uses=1]
+ br bool %bothcond1, label %bb88, label %bb99
+
+bb88: ; preds = %cond_next77
+ %bothcond2 = and bool false, %tmp84 ; <bool> [#uses=0]
+ ret void
+
+bb99: ; preds = %cond_next77
+ ret void
+
+bb103: ; preds = %entry
+ ret void
+}