diff --git a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp index 9af69c1cdba..01da2fdcf5c 100644 --- a/lib/Target/SparcV9/SparcV9CodeEmitter.cpp +++ b/lib/Target/SparcV9/SparcV9CodeEmitter.cpp @@ -594,11 +594,9 @@ int64_t SparcV9CodeEmitter::getMachineOpValue(MachineInstr &MI, MachineOperand &MO) { int64_t rv = 0; // Return value; defaults to 0 for unhandled cases // or things that get fixed up later by the JIT. - - if (MO.isVirtualRegister()) { - std::cerr << "ERROR: virtual register found in machine code.\n"; - abort(); - } else if (MO.isPCRelativeDisp()) { + assert(MO.getType() != MachineOperand::MO_VirtualRegister && + "ERROR: virtual register found in machine code."); + if (MO.isPCRelativeDisp()) { DEBUG(std::cerr << "PCRelativeDisp: "); Value *V = MO.getVRegValue(); if (BasicBlock *BB = dyn_cast(V)) {