llvm-project/llvm/lib/Bitcode/Writer
Chris Lattner 982ec1eddc Implement support for globally associating abbrevs with block IDs, which
relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.

The VST went from:

  Block ID #14 (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.29508e+07b/1.61885e+06B/404713W
       Average Size: 5522.73b/690.342B/172.585W
          % of file: 48.0645
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 7035/3
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 100

to:

  Block ID #14 (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.26713e+07b/1.58391e+06B/395978W
       Average Size: 5403.53b/675.442B/168.86W
          % of file: 47.5198
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 0/0
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 100

because we didn't emit the same 3 abbrevs 2345 times :)

llvm-svn: 36767
2007-05-05 00:17:00 +00:00
..
BitcodeWriter.cpp Implement support for globally associating abbrevs with block IDs, which 2007-05-05 00:17:00 +00:00
Makefile Initial support for writing bitcode files. This currently only writes types, 2007-04-22 06:24:45 +00:00
ValueEnumerator.cpp optimize constant layout. This fixes encoding of 181.mcf (by ensuring 2007-05-04 05:21:47 +00:00
ValueEnumerator.h optimize constant layout. This fixes encoding of 181.mcf (by ensuring 2007-05-04 05:21:47 +00:00