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);