Remove default operands that are never used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4357 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 2a1893c..85d3f1a 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -9,20 +9,24 @@
// 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;