New test case.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 13 Mar 2008 08:05:02 +0000 (08:05 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 13 Mar 2008 08:05:02 +0000 (08:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48338 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/2008-03-13-TwoAddrPassCrash.ll [new file with mode: 0644]

diff --git a/test/CodeGen/X86/2008-03-13-TwoAddrPassCrash.ll b/test/CodeGen/X86/2008-03-13-TwoAddrPassCrash.ll
new file mode 100644 (file)
index 0000000..4a896e9
--- /dev/null
@@ -0,0 +1,68 @@
+; RUN: llvm-as < %s | llc -march=x86
+
+define i16 @t(i32 %depth) signext nounwind  {
+entry:
+       br i1 false, label %bb74, label %bb
+bb:            ; preds = %entry
+       ret i16 0
+bb74:          ; preds = %entry
+       switch i32 0, label %bail [
+                i32 17, label %bb84
+                i32 18, label %bb81
+                i32 33, label %bb80
+                i32 34, label %bb84
+       ]
+bb80:          ; preds = %bb74
+       switch i32 %depth, label %bb103 [
+                i32 16, label %bb96
+                i32 32, label %bb91
+                i32 846624121, label %bb96
+                i32 1094862674, label %bb91
+                i32 1096368963, label %bb91
+                i32 1111970369, label %bb91
+                i32 1278555445, label %bb96
+                i32 1278555701, label %bb96
+                i32 1380401729, label %bb91
+                i32 1668118891, label %bb91
+                i32 1916022840, label %bb91
+                i32 1983131704, label %bb91
+                i32 2037741171, label %bb96
+                i32 2037741173, label %bb96
+       ]
+bb81:          ; preds = %bb74
+       ret i16 0
+bb84:          ; preds = %bb74, %bb74
+       switch i32 %depth, label %bb103 [
+                i32 16, label %bb96
+                i32 32, label %bb91
+                i32 846624121, label %bb96
+                i32 1094862674, label %bb91
+                i32 1096368963, label %bb91
+                i32 1111970369, label %bb91
+                i32 1278555445, label %bb96
+                i32 1278555701, label %bb96
+                i32 1380401729, label %bb91
+                i32 1668118891, label %bb91
+                i32 1916022840, label %bb91
+                i32 1983131704, label %bb91
+                i32 2037741171, label %bb96
+                i32 2037741173, label %bb96
+       ]
+bb91:          ; preds = %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80
+       %wMB.0.reg2mem.0 = phi i16 [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 16, %bb80 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ], [ 0, %bb84 ]               ; <i16> [#uses=2]
+       %tmp941478 = shl i16 %wMB.0.reg2mem.0, 2                ; <i16> [#uses=1]
+       br label %bb103
+bb96:          ; preds = %bb84, %bb84, %bb84, %bb84, %bb84, %bb84, %bb80, %bb80, %bb80, %bb80, %bb80, %bb80
+       ret i16 0
+bb103:         ; preds = %bb91, %bb84, %bb80
+       %wMB.0.reg2mem.2 = phi i16 [ %wMB.0.reg2mem.0, %bb91 ], [ 16, %bb80 ], [ 0, %bb84 ]             ; <i16> [#uses=1]
+       %bBump.0 = phi i16 [ %tmp941478, %bb91 ], [ 16, %bb80 ], [ 0, %bb84 ]           ; <i16> [#uses=0]
+       br i1 false, label %bb164, label %UnifiedReturnBlock
+bb164:         ; preds = %bb103
+       %tmp167168 = sext i16 %wMB.0.reg2mem.2 to i32           ; <i32> [#uses=0]
+       ret i16 0
+bail:          ; preds = %bb74
+       ret i16 0
+UnifiedReturnBlock:            ; preds = %bb103
+       ret i16 0
+}