aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Writer/InstructionWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bytecode/Writer/InstructionWriter.cpp')
-rw-r--r--lib/Bytecode/Writer/InstructionWriter.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/Bytecode/Writer/InstructionWriter.cpp b/lib/Bytecode/Writer/InstructionWriter.cpp
index fe03554827..587e6d1be6 100644
--- a/lib/Bytecode/Writer/InstructionWriter.cpp
+++ b/lib/Bytecode/Writer/InstructionWriter.cpp
@@ -18,9 +18,7 @@
#include <algorithm>
static Statistic<>
-NumOversized("bytecodewriter", "Number of oversized instructions");
-static Statistic<>
-NumNormal("bytecodewriter", "Number of normal instructions");
+NumInstrs("bytecodewriter", "Number of instructions");
typedef unsigned char uchar;
@@ -52,7 +50,6 @@ static void outputInstructionFormat0(const Instruction *I,
}
align32(Out); // We must maintain correct alignment!
- ++NumOversized;
}
@@ -102,7 +99,6 @@ static void outputInstrVarArgsCall(const Instruction *I,
output_vbr((unsigned)Slot, Out);
}
align32(Out); // We must maintain correct alignment!
- ++NumOversized;
}
@@ -124,7 +120,6 @@ static void outputInstructionFormat1(const Instruction *I,
unsigned Bits = 1 | (Opcode << 2) | (Type << 8) | (Slots[0] << 20);
// cerr << "1 " << IType << " " << Type << " " << Slots[0] << endl;
output(Bits, Out);
- ++NumNormal;
}
@@ -149,7 +144,6 @@ static void outputInstructionFormat2(const Instruction *I,
// cerr << "2 " << IType << " " << Type << " " << Slots[0] << " "
// << Slots[1] << endl;
output(Bits, Out);
- ++NumNormal;
}
@@ -175,7 +169,6 @@ static void outputInstructionFormat3(const Instruction *I,
//cerr << "3 " << IType << " " << Type << " " << Slots[0] << " "
// << Slots[1] << " " << Slots[2] << endl;
output(Bits, Out);
- ++NumNormal;
}
void BytecodeWriter::processInstruction(const Instruction &I) {
@@ -246,6 +239,8 @@ void BytecodeWriter::processInstruction(const Instruction &I) {
}
}
+ ++NumInstrs;
+
// Decide which instruction encoding to use. This is determined primarily by
// the number of operands, and secondarily by whether or not the max operand
// will fit into the instruction encoding. More operands == fewer bits per