summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/fp-stack-O0-crash.ll
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-08-03 16:33:19 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-08-03 16:33:19 +0000
commit56e3232d5a5206f8b554eccd4aea2e75e59d4314 (patch)
treebed661ac4ca24dcf0db211a3cbb7f5108a445b0c /test/CodeGen/X86/fp-stack-O0-crash.ll
parente3fbe6c0fbf354c05800aabd8b0efc4a9366dc08 (diff)
downloadllvm-56e3232d5a5206f8b554eccd4aea2e75e59d4314.tar.gz
llvm-56e3232d5a5206f8b554eccd4aea2e75e59d4314.tar.bz2
llvm-56e3232d5a5206f8b554eccd4aea2e75e59d4314.tar.xz
Handle IMPLICIT_DEF instructions in X86FloatingPoint.
This fixes PR10575. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136787 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/fp-stack-O0-crash.ll')
-rw-r--r--test/CodeGen/X86/fp-stack-O0-crash.ll21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/CodeGen/X86/fp-stack-O0-crash.ll b/test/CodeGen/X86/fp-stack-O0-crash.ll
index 9b629c0865..ae83a02c67 100644
--- a/test/CodeGen/X86/fp-stack-O0-crash.ll
+++ b/test/CodeGen/X86/fp-stack-O0-crash.ll
@@ -1,4 +1,4 @@
-; RUN: llc %s -O0 -fast-isel -regalloc=fast -o -
+; RUN: llc %s -O0 -fast-isel -regalloc=fast -mcpu=i386 -o -
; PR4767
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
@@ -28,3 +28,22 @@ if.then: ; preds = %cond.false, %cond.t
if.end: ; preds = %if.then, %cond.false, %cond.true
ret void
}
+
+; PR10575
+; This produces a FP0 = IMPLICIT_DEF instruction.
+define void @__m_rankmerge_MOD_dindexmerge_() nounwind {
+entry:
+ br label %"20"
+
+"20": ; preds = %"23", %entry
+ %0 = phi double [ undef, %entry ], [ %0, %"23" ]
+ %1 = phi double [ 0.000000e+00, %entry ], [ %2, %"23" ]
+ br i1 undef, label %"21", label %"23"
+
+"21": ; preds = %"20"
+ ret void
+
+"23": ; preds = %"20"
+ %2 = select i1 undef, double %0, double %1
+ br label %"20"
+}