History log of /llvm-project-15.0.7/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp (Results 851 – 875 of 897)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


1...<<313233343536