Bytecode Change: Compaction Tables gone.


Last night I removed compaction tables from the bytecode format
(documentation change forthcoming). This was done for a few reasons.
First, its very expensive in CPU time to process compaction tables for
both reading and writing. Second, the maximum benefit we gained was
about 7% (600K a 9Mb bytecode). In most cases its in the 1% range or
actually makes the bytecode larger. Finally, as we prepare for the
bitcode format, it helps us to simplify the existing bytecode format and
the bcreader/bcwriter code. Compaction tables were a significant
complexity in that code.


It is important to note that old LLVM cvs .bc files will not read anymore, so be careful about updating if you rely on .bc files. If you have a set you know you want, just disassemble them to .ll files, then reassemble them after updating.