mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 02:33:33 +00:00
fix a latent bug my inline asm stuff exposed:
MachineOperand::isIdenticalTo wasn't handling metadata operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100636 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
96fbb3eea6
commit
24ad3ed71f
@ -192,6 +192,8 @@ bool MachineOperand::isIdenticalTo(const MachineOperand &Other) const {
|
||||
return getBlockAddress() == Other.getBlockAddress();
|
||||
case MachineOperand::MO_MCSymbol:
|
||||
return getMCSymbol() == Other.getMCSymbol();
|
||||
case MachineOperand::MO_Metadata:
|
||||
return getMetadata() == Other.getMetadata();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -92,3 +92,19 @@ foo:
|
||||
}
|
||||
|
||||
|
||||
; Crash commoning identical asms.
|
||||
define void @test6(i1 %C) nounwind optsize ssp {
|
||||
entry:
|
||||
br i1 %C, label %do.body55, label %do.body92
|
||||
|
||||
do.body55: ; preds = %if.else36
|
||||
call void asm sideeffect "foo", "~{dirflag},~{fpsr},~{flags}"() nounwind, !srcloc !0
|
||||
ret void
|
||||
|
||||
do.body92: ; preds = %if.then66
|
||||
call void asm sideeffect "foo", "~{dirflag},~{fpsr},~{flags}"() nounwind, !srcloc !1
|
||||
ret void
|
||||
}
|
||||
|
||||
!0 = metadata !{i32 633550}
|
||||
!1 = metadata !{i32 634261}
|
||||
|
Loading…
x
Reference in New Issue
Block a user