Add support for writing bytecode files with compactiontables for bytecode files.
This shrinks the bytecode file for 176.gcc by about 200K (10%), and 254.gap by
about 167K, a 25% reduction.  There is still a lot of room for improvement in
the encoding of the compaction table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10915 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Writer/WriterInternals.h b/lib/Bytecode/Writer/WriterInternals.h
index 15dbeff..1e47f5e 100644
--- a/lib/Bytecode/Writer/WriterInternals.h
+++ b/lib/Bytecode/Writer/WriterInternals.h
@@ -37,7 +37,12 @@
   void outputConstants(bool isFunction);
   void outputConstantStrings();
   void outputFunction(const Function *F);
-  void processInstruction(const Instruction &I);
+  void outputCompactionTable();
+  void outputCompactionTablePlane(unsigned PlaneNo,
+                                  const std::vector<const Value*> &TypePlane,
+                                  unsigned StartNo);
+  void outputInstructions(const Function *F);
+  void outputInstruction(const Instruction &I);
 
   void outputModuleInfoBlock(const Module *C);
   void outputSymbolTable(const SymbolTable &ST);