*** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3105 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Writer/InstructionWriter.cpp b/lib/Bytecode/Writer/InstructionWriter.cpp
index 36414be..fdc5c5c 100644
--- a/lib/Bytecode/Writer/InstructionWriter.cpp
+++ b/lib/Bytecode/Writer/InstructionWriter.cpp
@@ -16,8 +16,14 @@
 #include "llvm/DerivedTypes.h"
 #include "llvm/iOther.h"
 #include "llvm/iTerminators.h"
+#include "Support/StatisticReporter.h"
 #include <algorithm>
 
+static Statistic<> 
+NumOversized("bytecodewriter\t- Number of oversized instructions");
+static Statistic<> 
+NumNormal("bytecodewriter\t- Number of normal instructions");
+
 typedef unsigned char uchar;
 
 // outputInstructionFormat0 - Output those wierd instructions that have a large
@@ -48,6 +54,7 @@
   }
 
   align32(Out);    // We must maintain correct alignment!
+  ++NumOversized;
 }
 
 
@@ -97,6 +104,7 @@
     output_vbr((unsigned)Slot, Out);
   }
   align32(Out);    // We must maintain correct alignment!
+  ++NumOversized;
 }
 
 
@@ -118,6 +126,7 @@
   unsigned Bits = 1 | (Opcode << 2) | (Type << 8) | (Slots[0] << 20);
   //  cerr << "1 " << IType << " " << Type << " " << Slots[0] << endl;
   output(Bits, Out);
+  ++NumNormal;
 }
 
 
@@ -142,6 +151,7 @@
   //  cerr << "2 " << IType << " " << Type << " " << Slots[0] << " " 
   //       << Slots[1] << endl;
   output(Bits, Out);
+  ++NumNormal;
 }
 
 
@@ -167,6 +177,7 @@
   //cerr << "3 " << IType << " " << Type << " " << Slots[0] << " " 
   //     << Slots[1] << " " << Slots[2] << endl;
   output(Bits, Out);
+  ++NumNormal;
 }
 
 void BytecodeWriter::processInstruction(const Instruction &I) {
diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp
index f7219ea..4eade88 100644
--- a/lib/Bytecode/Writer/Writer.cpp
+++ b/lib/Bytecode/Writer/Writer.cpp
@@ -25,11 +25,14 @@
 #include "llvm/SymbolTable.h"
 #include "llvm/DerivedTypes.h"
 #include "Support/STLExtras.h"
+#include "Support/StatisticReporter.h"
 #include <string.h>
 #include <algorithm>
 
 static RegisterPass<WriteBytecodePass> X("emitbytecode", "Bytecode Writer");
 
+static Statistic<> 
+BytesWritten("bytecodewriter\t- Number of bytecode bytes written");
 
 
 BytecodeWriter::BytecodeWriter(std::deque<unsigned char> &o, const Module *M) 
@@ -234,6 +237,9 @@
   // This object populates buffer for us...
   BytecodeWriter BCW(Buffer, C);
 
+  // Keep track of how much we've written...
+  BytesWritten += Buffer.size();
+
   // Okay, write the deque out to the ostream now... the deque is not
   // sequential in memory, however, so write out as much as possible in big
   // chunks, until we're done.