#
e760d6f4 |
| 05-May-2007 |
Chris Lattner <sabre@nondot.org> |
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 <sabre@nondot.org> |
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 <sabre@nondot.org> |
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 <sabre@nondot.org> |
allow the 8-bit abbrev to be used for either bb or other values
llvm-svn: 36761
|
#
fd1ad10e |
| 04-May-2007 |
Chris Lattner <sabre@nondot.org> |
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 <sabre@nondot.org> |
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 <sabre@nondot.org> |
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 <sabre@nondot.org> |
eliminate internal length fields from record. Records already know their total length
llvm-svn: 36752
|
#
702658c0 |
| 04-May-2007 |
Chris Lattner <sabre@nondot.org> |
stub out creation of BLOCKINFO_BLOCK
llvm-svn: 36749
|
#
485a6d8f |
| 04-May-2007 |
Chris Lattner <sabre@nondot.org> |
fix encoding of invoke instructions. kc++ now round trips
llvm-svn: 36737
|
#
70f4566d |
| 04-May-2007 |
Chris Lattner <sabre@nondot.org> |
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 <sabre@nondot.org> |
fix a bug encoding param attrs
llvm-svn: 36730
|
#
e72bf9fd |
| 04-May-2007 |
Chris Lattner <sabre@nondot.org> |
add writer support for param attrs
llvm-svn: 36724
|
#
e2f98ef5 |
| 04-May-2007 |
Chris Lattner <sabre@nondot.org> |
trivial scaffolding for param attrs
llvm-svn: 36720
|
#
47045275 |
| 03-May-2007 |
Chris Lattner <sabre@nondot.org> |
Encoding calling conv info in call/invoke instrs, tree add now round trips completely
llvm-svn: 36707
|
#
4bb39dbf |
| 03-May-2007 |
Chris Lattner <sabre@nondot.org> |
don't bother encoding # varargs
llvm-svn: 36705
|
#
6be58c65 |
| 03-May-2007 |
Chris Lattner <sabre@nondot.org> |
fix encoding of BB names in the symtab
llvm-svn: 36704
|
#
5285b5ea |
| 02-May-2007 |
Chris Lattner <sabre@nondot.org> |
add reader logic for terminator instrs.
llvm-svn: 36642
|
#
9f35f911 |
| 02-May-2007 |
Chris Lattner <sabre@nondot.org> |
use the correct code for binop instrs
llvm-svn: 36639
|
#
b811e951 |
| 01-May-2007 |
Chris Lattner <sabre@nondot.org> |
fix build with non-buggy compilers
llvm-svn: 36621
|
#
fb6f9407 |
| 01-May-2007 |
Chris Lattner <sabre@nondot.org> |
write the symbol table for function bodies
llvm-svn: 36610
|
#
0a603256 |
| 01-May-2007 |
Chris Lattner <sabre@nondot.org> |
encode all of the instructions.
llvm-svn: 36609
|
#
31fc4f95 |
| 29-Apr-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Implement visibility checking during linking. Also implement protected visibility support for bitcode.
llvm-svn: 36577
|
#
f0a1ebae |
| 29-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
Fix this to use the right block ID
llvm-svn: 36550
|
#
87351e2a |
| 29-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
moved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.
llvm-svn: 36549
|