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
This commit is contained in:
Chris Lattner
2004-01-18 21:08:52 +00:00
parent 89e025387e
commit cf3e67f70a
4 changed files with 73 additions and 36 deletions

View File

@ -26,11 +26,6 @@ ConstantBytes("bytecodewriter", "Bytes of constants");
static Statistic<>
NumConstants("bytecodewriter", "Number of constants");
static Statistic<>
NumStrConstants("bytecodewriter", "Number of string constants");
static Statistic<>
NumStrBytes("bytecodewriter", "Number of string constant bytes");
void BytecodeWriter::outputType(const Type *T) {
TypeBytes -= Out.size();
@ -231,7 +226,6 @@ void BytecodeWriter::outputConstantStrings() {
output_vbr(Type::VoidTyID, Out);
ConstantBytes -= Out.size();
NumStrBytes -= Out.size();;
// Emit all of the strings.
for (I = Table.string_begin(); I != E; ++I) {
@ -246,8 +240,6 @@ void BytecodeWriter::outputConstantStrings() {
output_data(Val.c_str(), Val.c_str()+Val.size(), Out);
++NumConstants;
++NumStrConstants;
}
ConstantBytes += Out.size();
NumStrBytes += Out.size();;
}