Verify that phi instructions refer to MBBs in the CFG.

The machine code verifier no longer tolerates phi instructions with noop
operands. All MBBs on a phi instruction must be in the CFG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82448 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2009-09-21 07:19:08 +00:00
parent 4fbd14e80e
commit a5ba07c3d1

View File

@ -592,13 +592,14 @@ MachineVerifier::visitMachineOperand(const MachineOperand *MO, unsigned MONum)
}
break;
}
// Can PHI instrs refer to MBBs not in the CFG? X86 and ARM do.
// case MachineOperand::MO_MachineBasicBlock:
// if (MI->getOpcode() == TargetInstrInfo::PHI) {
// if (!MO->getMBB()->isSuccessor(MI->getParent()))
// report("PHI operand is not in the CFG", MO, MONum);
// }
// break;
case MachineOperand::MO_MachineBasicBlock:
if (MI->getOpcode() == TargetInstrInfo::PHI) {
if (!MO->getMBB()->isSuccessor(MI->getParent()))
report("PHI operand is not in the CFG", MO, MONum);
}
break;
default:
break;
}