From b221a763862ccaed46dee3fbf56c384981d84fbd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 10 Sep 2001 19:43:38 +0000 Subject: [PATCH] Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@531 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MachineInstr.cpp | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index 7a5214d260d..63acea14b41 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -127,17 +127,12 @@ ostream &operator<<(ostream &os, const MachineOperand &mop) { case MachineOperand::MO_CCRegister: os << "%ccreg"; return OutputOperand(os, mop); - case MachineOperand::MO_SignExtendedImmed: return os << mop.immedVal; - case MachineOperand::MO_UnextendedImmed: return os << mop.immedVal; - case MachineOperand::MO_PCRelativeDisp: - os << "%disp(label "; - return OutputOperand(os, mop) << ")"; - + return os << "%disp(label " << mop.getVRegValue() << ")"; default: assert(0 && "Unrecognized operand type"); break; @@ -212,12 +207,12 @@ Set3OperandsFromInstrJUNK(MachineInstr* minstr, minstr->SetMachineOperand(op1Position, /*regNum*/ target.zeroRegNum); else { - if (op1Value->getValueType() == Value::ConstantVal) - {// value is constant and must be loaded from constant pool - returnFlags = returnFlags | (1 << op1Position); - } - minstr->SetMachineOperand(op1Position,MachineOperand::MO_VirtualRegister, - op1Value); + if (op1Value->isConstant()) { + // value is constant and must be loaded from constant pool + returnFlags = returnFlags | (1 << op1Position); + } + minstr->SetMachineOperand(op1Position, MachineOperand::MO_VirtualRegister, + op1Value); } // Check if operand 2 (if any) fits in the immed. field of the instruction, @@ -237,10 +232,10 @@ Set3OperandsFromInstrJUNK(MachineInstr* minstr, minstr->SetMachineOperand(op2Position, machineRegNum); else if (op2type == MachineOperand::MO_VirtualRegister) { - if (op2Value->getValueType() == Value::ConstantVal) - {// value is constant and must be loaded from constant pool - returnFlags = returnFlags | (1 << op2Position); - } + if (op2Value->isConstant()) { + // value is constant and must be loaded from constant pool + returnFlags = returnFlags | (1 << op2Position); + } minstr->SetMachineOperand(op2Position, op2type, op2Value); } else