|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| 
| 
| 
| | pr1146 in llvm 2.1 without ugly code to emulate old behavior.  This should
be merged into the 2.0 release branch.
llvm-svn: 36928 | 
| | 
| 
| 
| 
| 
| | ofstreams will be ok.
llvm-svn: 36878 | 
| | 
| 
| 
| | llvm-svn: 36831 | 
| | 
| 
| 
| 
| 
| | bytes.
llvm-svn: 36829 | 
| | 
| 
| 
| | llvm-svn: 36827 | 
| | 
| 
| 
| | llvm-svn: 36823 | 
| | 
| 
| 
| 
| 
| | well.  This shrinks kc++ from 2724088 to 2717360 bytes.
llvm-svn: 36821 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | block from:
  Block ID #11 (CONSTANTS_BLOCK):
      Num Instances: 1722
         Total Size: 3.85976e+06b/482470B/120617W
          % of file: 16.7609
       Average Size: 2241.44b/280.18B/70.045W
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 1/0.00058072
    Tot/Avg Records: 26423/15.3444
      % Abbrev Recs: 69.1746
to:
 Block ID #11 (CONSTANTS_BLOCK):
      Num Instances: 1724
         Total Size: 2.62406e+06b/328008B/82001.9W
          % of file: 12.041
       Average Size: 1522.08b/190.26B/47.5649W
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 2/0.00116009
    Tot/Avg Records: 26280/15.2436
      % Abbrev Recs: 68.9992
This shrinks kc++ from 2815788 to 2724088 bytes, which means the bitcode
file is now smaller than the bytecode file.
llvm-svn: 36820 | 
| | 
| 
| 
| 
| 
| | 2878544 to 2815788
llvm-svn: 36818 | 
| | 
| 
| 
| 
| 
| | shrinks function bodies in kc++ from 891913B to 884073B
llvm-svn: 36817 | 
| | 
| 
| 
| 
| 
| | This shrinks the function block of kc++ from 1055K to 906K
llvm-svn: 36816 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Block ID #12 (FUNCTION_BLOCK):
      Num Instances: 2344
         Total Size: 8.8434e+06b/1.10542e+06B/276356W
          % of file: 35.6726
       Average Size: 3772.78b/471.598B/117.899W
  Tot/Avg SubBlocks: 4065/1.73422
    Tot/Avg Abbrevs: 0/0
    Tot/Avg Records: 128487/54.8153
      % Abbrev Recs: 0
to:
 Block ID #12 (FUNCTION_BLOCK):
      Num Instances: 2344
         Total Size: 8.44518e+06b/1.05565e+06B/263912W
          % of file: 34.6203
       Average Size: 3602.89b/450.362B/112.59W
  Tot/Avg SubBlocks: 4065/1.73422
    Tot/Avg Abbrevs: 0/0
    Tot/Avg Records: 128487/54.8153
      % Abbrev Recs: 22.2077
llvm-svn: 36779 | 
| | 
| 
| 
| 
| 
| | to 3.85972e6 bits in kc++
llvm-svn: 36778 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | with 6 bits where possible.  This shrinks kc++ from 3324164B to 3183584B.  The
old VST was:
  Block ID #14 (VALUE_SYMTAB):
         Total Size: 1.26713e+07b/1.58391e+06B/395978W
       Average Size: 5403.53b/675.442B/168.86W
          % of file: 47.6484
The new one is:
  Block ID #14 (VALUE_SYMTAB):
         Total Size: 1.15467e+07b/1.44334e+06B/360834W
       Average Size: 4923.96b/615.495B/153.874W
          % of file: 45.3368
This is 11% smaller than the VST in the bytecode format.
llvm-svn: 36771 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | to 103165 bits:
Old:
  Block ID #13 (TYPE_SYMTAB):
      Num Instances: 1
         Total Size: 175197b/21899.6B/5474.91W
       Average Size: 175197b/21899.6B/5474.91W
          % of file: 0.657023
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 0/0
    Tot/Avg Records: 255/255
      % Abbrev Recs: 0
New:
  Block ID #13 (TYPE_SYMTAB):
      Num Instances: 1
         Total Size: 103165b/12895.6B/3223.91W
       Average Size: 103165b/12895.6B/3223.91W
          % of file: 0.387937
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 1/1
    Tot/Avg Records: 255/255
      % Abbrev Recs: 100
llvm-svn: 36769 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 36761 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | where we can.  This shrinks kc++'s down to 3368K, with a VST record of:
  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
Isn't it nice to be able to optimizer bc size without touching the reader? :)
llvm-svn: 36759 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | shaves 110K off kc++ to 3514K.  Before:
  Block ID #14 (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.50425e+07b/1.88031e+06B/470077W
       Average Size: 6414.69b/801.837B/200.459W
          % of file: 51.8057
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 2345/1
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 85.1791
after:
  Block ID #14 (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.41229e+07b/1.76536e+06B/441341W
       Average Size: 6022.56b/752.82B/188.205W
          % of file: 50.2295
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 4690/2
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 85.1791
llvm-svn: 36758 | 
| | 
| 
| 
| 
| 
| 
| | instead of the default inefficient encoding.  This shrinks kc++ from 4134K
to 3629K
llvm-svn: 36755 | 
| | 
| 
| 
| 
| 
| | total length
llvm-svn: 36752 | 
| | 
| 
| 
| | llvm-svn: 36749 | 
| | 
| 
| 
| | llvm-svn: 36737 | 
| | 
| 
| 
| 
| 
| | Olden/voronoi loslessly
llvm-svn: 36735 | 
| | 
| 
| 
| | llvm-svn: 36730 | 
| | 
| 
| 
| | llvm-svn: 36724 | 
| | 
| 
| 
| | llvm-svn: 36720 | 
| | 
| 
| 
| 
| 
| | completely
llvm-svn: 36707 | 
| | 
| 
| 
| | llvm-svn: 36705 | 
| | 
| 
| 
| | llvm-svn: 36704 | 
| | 
| 
| 
| | llvm-svn: 36642 | 
| | 
| 
| 
| | llvm-svn: 36639 | 
| | 
| 
| 
| | llvm-svn: 36621 | 
| | 
| 
| 
| | llvm-svn: 36610 | 
| | 
| 
| 
| | llvm-svn: 36609 | 
| | 
| 
| 
| 
| 
| | visibility support for bitcode.
llvm-svn: 36577 | 
| | 
| 
| 
| | llvm-svn: 36550 | 
| | 
| 
| 
| | llvm-svn: 36549 | 
| | 
| 
| 
| 
| 
| | #'s.
llvm-svn: 36472 | 
| | 
| 
| 
| | llvm-svn: 36465 | 
| | 
| 
| 
| | llvm-svn: 36464 | 
| | 
| 
| 
| 
| 
| 
| | I just introduced), stub out function reading, purge aggregate values from
the value table before reading functions.
llvm-svn: 36463 | 
| | 
| 
| 
| | llvm-svn: 36461 | 
| | 
| 
| 
| | llvm-svn: 36394 | 
| | 
| 
| 
| | llvm-svn: 36388 | 
| | 
| 
| 
| | llvm-svn: 36384 | 
| | 
| 
| 
| | llvm-svn: 36374 | 
| | 
| 
| 
| | llvm-svn: 36367 | 
| | 
| 
| 
| 
| 
| 
| 
| | and the
reader doesn't handle them at all yet.
llvm-svn: 36363 |