diff options
Diffstat (limited to 'lib/CodeGen/MachineInstr.cpp')
-rw-r--r-- | lib/CodeGen/MachineInstr.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index 2a1893cc3d..85d3f1a8f2 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -9,20 +9,24 @@ using std::cerr; // Constructor for instructions with fixed #operands (nearly all) -MachineInstr::MachineInstr(MachineOpCode _opCode, - OpCodeMask _opCodeMask) - : opCode(_opCode), opCodeMask(_opCodeMask), +MachineInstr::MachineInstr(MachineOpCode _opCode) + : opCode(_opCode), opCodeMask(0), operands(TargetInstrDescriptors[_opCode].numOperands, MachineOperand()) { assert(TargetInstrDescriptors[_opCode].numOperands >= 0); } // Constructor for instructions with variable #operands -MachineInstr::MachineInstr(MachineOpCode OpCode, unsigned numOperands, - OpCodeMask OpCodeMask) - : opCode(OpCode), opCodeMask(OpCodeMask), +MachineInstr::MachineInstr(MachineOpCode OpCode, unsigned numOperands/*, + OpCodeMask OpCodeMask*/) + : opCode(OpCode), opCodeMask(0/*OpCodeMask*/), operands(numOperands, MachineOperand()) { } +MachineInstr::MachineInstr(MachineOpCode Opcode, unsigned numOperands, + bool XX, bool YY) : opCode(Opcode), opCodeMask(0) { + operands.reserve(numOperands); +} + // OperandComplete - Return true if it's illegal to add a new operand bool MachineInstr::OperandsComplete() const { int NumOperands = TargetInstrDescriptors[opCode].numOperands; |