mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-29 10:25:12 +00:00
Simplify some code in MachineVerifier that was doing the correct thing, but not
in the most obvious way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122610 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1118,8 +1118,8 @@ void MachineVerifier::verifyLiveIntervals() {
|
|||||||
|
|
||||||
// Now check all the basic blocks in this live segment.
|
// Now check all the basic blocks in this live segment.
|
||||||
MachineFunction::const_iterator MFI = MBB;
|
MachineFunction::const_iterator MFI = MBB;
|
||||||
// Is LI live-in to MBB and not a PHIDef?
|
// Is this live range the beginning of a non-PHIDef VN?
|
||||||
if (I->start == VNI->def) {
|
if (I->start == VNI->def && !VNI->isPHIDef()) {
|
||||||
// Not live-in to any blocks.
|
// Not live-in to any blocks.
|
||||||
if (MBB == EndMBB)
|
if (MBB == EndMBB)
|
||||||
continue;
|
continue;
|
||||||
@@ -1141,16 +1141,9 @@ void MachineVerifier::verifyLiveIntervals() {
|
|||||||
PE = MFI->pred_end(); PI != PE; ++PI) {
|
PE = MFI->pred_end(); PI != PE; ++PI) {
|
||||||
SlotIndex PEnd = LiveInts->getMBBEndIdx(*PI).getPrevSlot();
|
SlotIndex PEnd = LiveInts->getMBBEndIdx(*PI).getPrevSlot();
|
||||||
const VNInfo *PVNI = LI.getVNInfoAt(PEnd);
|
const VNInfo *PVNI = LI.getVNInfoAt(PEnd);
|
||||||
if (!PVNI) {
|
|
||||||
report("Register not marked live out of predecessor", *PI);
|
|
||||||
*OS << "Valno #" << VNI->id << " live into BB#" << MFI->getNumber()
|
|
||||||
<< '@' << LiveInts->getMBBStartIdx(MFI) << ", not live at "
|
|
||||||
<< PEnd << " in " << LI << '\n';
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (VNI->isPHIDef() && VNI->def == LiveInts->getMBBStartIdx(MFI)) {
|
if (VNI->isPHIDef() && VNI->def == LiveInts->getMBBStartIdx(MFI)) {
|
||||||
if (!PVNI->hasPHIKill()) {
|
if (PVNI && !PVNI->hasPHIKill()) {
|
||||||
report("Value live out of predecessor doesn't have PHIKill", MF);
|
report("Value live out of predecessor doesn't have PHIKill", MF);
|
||||||
*OS << "Valno #" << PVNI->id << " live out of BB#"
|
*OS << "Valno #" << PVNI->id << " live out of BB#"
|
||||||
<< (*PI)->getNumber() << '@' << PEnd
|
<< (*PI)->getNumber() << '@' << PEnd
|
||||||
@@ -1162,6 +1155,14 @@ void MachineVerifier::verifyLiveIntervals() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!PVNI) {
|
||||||
|
report("Register not marked live out of predecessor", *PI);
|
||||||
|
*OS << "Valno #" << VNI->id << " live into BB#" << MFI->getNumber()
|
||||||
|
<< '@' << LiveInts->getMBBStartIdx(MFI) << ", not live at "
|
||||||
|
<< PEnd << " in " << LI << '\n';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (PVNI != VNI) {
|
if (PVNI != VNI) {
|
||||||
report("Different value live out of predecessor", *PI);
|
report("Different value live out of predecessor", *PI);
|
||||||
*OS << "Valno #" << PVNI->id << " live out of BB#"
|
*OS << "Valno #" << PVNI->id << " live out of BB#"
|
||||||
|
Reference in New Issue
Block a user