llvm-project/llvm/lib/Bitcode/Writer
Chris Lattner ccee706345 Add abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays.
This shrinks the type_block of kc++ from 139901 bits to 99389 bits (0.55% to 0.39%
of the file), a 40% reduction.

This shrink the record from:

  Block ID #10 (TYPE_BLOCK):
      Num Instances: 1
         Total Size: 139901b/17487.6B/4371.91W
          % of file: 0.549306
        Num Abbrevs: 0
        Num Records: 3203
      % Abbrev Recs: 0

to:

  Block ID #10 (TYPE_BLOCK):
      Num Instances: 1
         Total Size: 99389b/12423.6B/3105.91W
          % of file: 0.390862
        Num Abbrevs: 4
        Num Records: 3203
      % Abbrev Recs: 99.6566

With a common histogram of:

       Code Histogram:
                1613    POINTER
                1100    FUNCTION
                255     STRUCT
                224     ARRAY
                5       INTEGER
                2       OPAQUE
                1       LABEL
                1       DOUBLE
                1       VOID
                1       NUMENTRY

llvm-svn: 36776
2007-05-05 06:30:12 +00:00
..
BitcodeWriter.cpp Add abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays. 2007-05-05 06:30:12 +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