aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/MachineInstr.cpp')
-rw-r--r--lib/CodeGen/MachineInstr.cpp16
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;