mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-05 12:31:33 +00:00
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
This commit is contained in:
parent
d1718252b5
commit
76a4d58998
@ -1327,7 +1327,7 @@ bool SimpleRegisterCoalescing::RangeIsDefinedByCopyFromReg(LiveInterval &li,
|
||||
// Re-compute it.
|
||||
MachineInstr *DefMI = li_->getInstructionFromIndex(LR->start);
|
||||
unsigned SrcReg, DstReg;
|
||||
if (tii_->isMoveInstr(*DefMI, SrcReg, DstReg) &&
|
||||
if (DefMI && tii_->isMoveInstr(*DefMI, SrcReg, DstReg) &&
|
||||
DstReg == li.reg && SrcReg == Reg) {
|
||||
// Cache computed info.
|
||||
LR->valno->def = LR->start;
|
||||
|
34
test/CodeGen/X86/2008-07-16-CoalescerCrash.ll
Normal file
34
test/CodeGen/X86/2008-07-16-CoalescerCrash.ll
Normal file
@ -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
|
||||
}
|
Loading…
Reference in New Issue
Block a user