| #
cc6d4c9f |
| 06-May-2007 |
Chris Lattner <[email protected]> |
add some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388
llvm-svn: 36823
|
| #
f25f710c |
| 06-May-2007 |
Chris Lattner <[email protected]> |
add a denser encoding for null terminated strings, add a 6-bit abbrev as well. This shrinks kc++ from 2724088 to 2717360 bytes.
llvm-svn: 36821
|
| #
4b6ce8fa |
| 06-May-2007 |
Chris Lattner <[email protected]> |
add an abbreviation for the string constants opzn, shrinking the constnats block from:
Block ID #11 (CONSTANTS_BLOCK): Num Instances: 1722 Total Size: 3.85976e+06b/482470B/120617W
add an abbreviation for the string constants opzn, shrinking the constnats 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
show more ...
|
| #
036d1bdd |
| 06-May-2007 |
Chris Lattner <[email protected]> |
implement the 'string constant' optimization. This shrinks kc.bit from 2878544 to 2815788
llvm-svn: 36818
|
| #
e9759c29 |
| 06-May-2007 |
Chris Lattner <[email protected]> |
further reduce the redundancy of types in the instruction encoding. This shrinks function bodies in kc++ from 891913B to 884073B
llvm-svn: 36817
|
| #
df1233df |
| 06-May-2007 |
Chris Lattner <[email protected]> |
stop encoding type/value pairs when the type is implied by the value. This shrinks the function block of kc++ from 1055K to 906K
llvm-svn: 36816
|
| #
b80751dc |
| 05-May-2007 |
Chris Lattner <[email protected]> |
add an abbrev for loads. This shrinks the function block about 50K, from:
Block ID #12 (FUNCTION_BLOCK): Num Instances: 2344 Total Size: 8.8434e+06b/1.10542e+06B/276356W
add an abbrev for loads. This shrinks the function block about 50K, from:
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
show more ...
|
| #
da5e5d21 |
| 05-May-2007 |
Chris Lattner <[email protected]> |
add abbrevs for the constants tables. This shrinks it from 4.49755e6 bits to 3.85972e6 bits in kc++
llvm-svn: 36778
|
| #
ccee7063 |
| 05-May-2007 |
Chris Lattner <[email protected]> |
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.
Thi
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
show more ...
|
| #
e760d6f4 |
| 05-May-2007 |
Chris Lattner <[email protected]> |
add a char6 abbrev for bbnames and value names. This represents each character with 6 bits where possible. This shrinks kc++ from 3324164B to 3183584B. The old VST was:
Block ID #14 (VALUE_SYMT
add a char6 abbrev for bbnames and value names. This represents each character 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
show more ...
|
| #
de05f6be |
| 05-May-2007 |
Chris Lattner <[email protected]> |
add an abbreviation for the type symtab, this shrinks the TST from 175197 bits to 103165 bits:
Old: Block ID #13 (TYPE_SYMTAB): Num Instances: 1 Total Size: 175197b/21899.6B/5474.91
add an abbreviation for the type symtab, this shrinks the TST from 175197 bits 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
show more ...
|
| #
982ec1ed |
| 05-May-2007 |
Chris Lattner <[email protected]> |
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
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
show more ...
|
| #
a0987966 |
| 04-May-2007 |
Chris Lattner <[email protected]> |
allow the 8-bit abbrev to be used for either bb or other values
llvm-svn: 36761
|
| #
fd1ad10e |
| 04-May-2007 |
Chris Lattner <[email protected]> |
shave another 150K off of kc++, by using a 7-bit encoding for BB names where we can. This shrinks kc++'s down to 3368K, with a VST record of:
Block ID #14 (VALUE_SYMTAB): Num Instances: 234
shave another 150K off of kc++, by using a 7-bit encoding for BB names 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
show more ...
|
| #
4d92598a |
| 04-May-2007 |
Chris Lattner <[email protected]> |
where possible, encode symtab names with 7 bits per char instead of 8. This shaves 110K off kc++ to 3514K. Before:
Block ID #14 (VALUE_SYMTAB): Num Instances: 2345 Total Size: 1.5
where possible, encode symtab names with 7 bits per char instead of 8. This 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
show more ...
|
| #
2eae59f1 |
| 04-May-2007 |
Chris Lattner <[email protected]> |
Encode all value symtab strings as arrays of 8-bit fixed width integers, instead of the default inefficient encoding. This shrinks kc++ from 4134K to 3629K
llvm-svn: 36755
|
| #
e14cb88e |
| 04-May-2007 |
Chris Lattner <[email protected]> |
eliminate internal length fields from record. Records already know their total length
llvm-svn: 36752
|
| #
702658c0 |
| 04-May-2007 |
Chris Lattner <[email protected]> |
stub out creation of BLOCKINFO_BLOCK
llvm-svn: 36749
|
| #
485a6d8f |
| 04-May-2007 |
Chris Lattner <[email protected]> |
fix encoding of invoke instructions. kc++ now round trips
llvm-svn: 36737
|
| #
70f4566d |
| 04-May-2007 |
Chris Lattner <[email protected]> |
encode and read param attrs along with function type. WE can now roundtrip Olden/voronoi loslessly
llvm-svn: 36735
|
| #
fc5b6194 |
| 04-May-2007 |
Chris Lattner <[email protected]> |
fix a bug encoding param attrs
llvm-svn: 36730
|
| #
e72bf9fd |
| 04-May-2007 |
Chris Lattner <[email protected]> |
add writer support for param attrs
llvm-svn: 36724
|
| #
e2f98ef5 |
| 04-May-2007 |
Chris Lattner <[email protected]> |
trivial scaffolding for param attrs
llvm-svn: 36720
|
| #
47045275 |
| 03-May-2007 |
Chris Lattner <[email protected]> |
Encoding calling conv info in call/invoke instrs, tree add now round trips completely
llvm-svn: 36707
|
| #
4bb39dbf |
| 03-May-2007 |
Chris Lattner <[email protected]> |
don't bother encoding # varargs
llvm-svn: 36705
|