summaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/2008-07-16-CoalescerCrash.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-07-17 19:48:53 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-07-17 19:48:53 +0000
commit76a4d58998ca41d04f03d21afe0257c36d9ce303 (patch)
tree5e02d5f5c77d8bdf78b0cd3a2c53e699d67fdd2f /test/CodeGen/X86/2008-07-16-CoalescerCrash.ll
parentd1718252b5cdbdf9afdfb4c3b416266d11f36e7d (diff)
downloadexternal_llvm-76a4d58998ca41d04f03d21afe0257c36d9ce303.zip
external_llvm-76a4d58998ca41d04f03d21afe0257c36d9ce303.tar.gz
external_llvm-76a4d58998ca41d04f03d21afe0257c36d9ce303.tar.bz2
Subreg live interval valno may not have a corresponding def machineinstr since it's less precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53734 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2008-07-16-CoalescerCrash.ll')
-rw-r--r--test/CodeGen/X86/2008-07-16-CoalescerCrash.ll34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2008-07-16-CoalescerCrash.ll b/test/CodeGen/X86/2008-07-16-CoalescerCrash.ll
new file mode 100644
index 0000000..aa9ee50
--- /dev/null
+++ b/test/CodeGen/X86/2008-07-16-CoalescerCrash.ll
@@ -0,0 +1,34 @@
+; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin
+
+ %struct.SV = type { i8*, i64, i64 }
+@"\01LC25" = external constant [8 x i8] ; <[8 x i8]*> [#uses=1]
+
+declare void @Perl_sv_catpvf(%struct.SV*, i8*, ...) nounwind
+
+declare fastcc i64 @Perl_utf8n_to_uvuni(i8*, i64, i64*, i64) nounwind
+
+define fastcc i8* @Perl_pv_uni_display(%struct.SV* %dsv, i8* %spv, i64 %len, i64 %pvlim, i64 %flags) nounwind {
+entry:
+ br i1 false, label %bb, label %bb40
+
+bb: ; preds = %entry
+ tail call fastcc i64 @Perl_utf8n_to_uvuni( i8* null, i64 13, i64* null, i64 255 ) nounwind ; <i64>:0 [#uses=1]
+ br i1 false, label %bb6, label %bb33
+
+bb6: ; preds = %bb
+ br i1 false, label %bb30, label %bb31
+
+bb30: ; preds = %bb6
+ unreachable
+
+bb31: ; preds = %bb6
+ icmp eq i8 0, 0 ; <i1>:1 [#uses=0]
+ br label %bb33
+
+bb33: ; preds = %bb31, %bb
+ tail call void (%struct.SV*, i8*, ...)* @Perl_sv_catpvf( %struct.SV* %dsv, i8* getelementptr ([8 x i8]* @"\01LC25", i32 0, i64 0), i64 %0 ) nounwind
+ unreachable
+
+bb40: ; preds = %entry
+ ret i8* null
+}