summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/crash.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-12 07:15:36 +0000
committerChris Lattner <sabre@nondot.org>2010-03-12 07:15:36 +0000
commitb3e87b2262087cf69f7461e4bc586cdb747434f7 (patch)
treed0cd67061229a94a5b626b8778f4fbff998d0a64 /test/CodeGen/X86/crash.ll
parent202c6a7e769bee90b77f48bdb3923c6e3932ff8f (diff)
downloadllvm-b3e87b2262087cf69f7461e4bc586cdb747434f7.tar.gz
llvm-b3e87b2262087cf69f7461e4bc586cdb747434f7.tar.bz2
llvm-b3e87b2262087cf69f7461e4bc586cdb747434f7.tar.xz
fix PR6577, a bug in sdbuilder lowering select instructions
whose true value was not Val#0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98336 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/crash.ll')
-rw-r--r--test/CodeGen/X86/crash.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/X86/crash.ll b/test/CodeGen/X86/crash.ll
index b9037f3592..08f59add2b 100644
--- a/test/CodeGen/X86/crash.ll
+++ b/test/CodeGen/X86/crash.ll
@@ -33,3 +33,17 @@ if.then: ; preds = %land.end
if.end: ; preds = %land.end
ret void
}
+
+; PR6577
+%pair = type { i64, double }
+
+define void @on4() {
+dependentGraph243.exit:
+ %subject19 = load %pair* undef ; <%1> [#uses=1]
+ %0 = extractvalue %pair %subject19, 1 ; <double> [#uses=2]
+ %1 = select i1 undef, double %0, double undef ; <double> [#uses=1]
+ %2 = select i1 undef, double %1, double %0 ; <double> [#uses=1]
+ %3 = insertvalue %pair undef, double %2, 1 ; <%1> [#uses=1]
+ store %pair %3, %pair* undef
+ ret void
+}