Chris Lattner
|
4d92598ab0
|
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
|
2007-05-04 20:52:02 +00:00 |
|
Chris Lattner
|
2eae59f1c1
|
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
|
2007-05-04 20:34:50 +00:00 |
|
Chris Lattner
|
e14cb88e56
|
eliminate internal length fields from record. Records already know their
total length
llvm-svn: 36752
|
2007-05-04 19:11:41 +00:00 |
|
Chris Lattner
|
702658c0cc
|
stub out creation of BLOCKINFO_BLOCK
llvm-svn: 36749
|
2007-05-04 18:26:27 +00:00 |
|
Chris Lattner
|
485a6d8fad
|
fix encoding of invoke instructions. kc++ now round trips
llvm-svn: 36737
|
2007-05-04 03:52:24 +00:00 |
|
Chris Lattner
|
70f4566d8a
|
encode and read param attrs along with function type. WE can now roundtrip Olden/voronoi loslessly
llvm-svn: 36735
|
2007-05-04 03:41:34 +00:00 |
|
Chris Lattner
|
fc5b619419
|
fix a bug encoding param attrs
llvm-svn: 36730
|
2007-05-04 03:14:09 +00:00 |
|
Chris Lattner
|
e72bf9fda6
|
add writer support for param attrs
llvm-svn: 36724
|
2007-05-04 02:59:04 +00:00 |
|
Chris Lattner
|
e2f98ef52d
|
trivial scaffolding for param attrs
llvm-svn: 36720
|
2007-05-04 00:44:52 +00:00 |
|
Chris Lattner
|
4704527576
|
Encoding calling conv info in call/invoke instrs, tree add now round trips completely
llvm-svn: 36707
|
2007-05-03 22:34:03 +00:00 |
|
Chris Lattner
|
4bb39dbfde
|
don't bother encoding # varargs
llvm-svn: 36705
|
2007-05-03 22:19:34 +00:00 |
|
Chris Lattner
|
6be58c65d4
|
fix encoding of BB names in the symtab
llvm-svn: 36704
|
2007-05-03 22:18:21 +00:00 |
|
Chris Lattner
|
5285b5ea2f
|
add reader logic for terminator instrs.
llvm-svn: 36642
|
2007-05-02 05:46:45 +00:00 |
|
Chris Lattner
|
9f35f9112d
|
use the correct code for binop instrs
llvm-svn: 36639
|
2007-05-02 04:26:36 +00:00 |
|
Chris Lattner
|
b811e951e9
|
fix build with non-buggy compilers
llvm-svn: 36621
|
2007-05-01 07:03:37 +00:00 |
|
Chris Lattner
|
fb6f9407ec
|
write the symbol table for function bodies
llvm-svn: 36610
|
2007-05-01 02:14:57 +00:00 |
|
Chris Lattner
|
0a60325621
|
encode all of the instructions.
llvm-svn: 36609
|
2007-05-01 02:13:26 +00:00 |
|
Anton Korobeynikov
|
31fc4f9526
|
Implement visibility checking during linking. Also implement protected
visibility support for bitcode.
llvm-svn: 36577
|
2007-04-29 20:56:48 +00:00 |
|
Chris Lattner
|
f0a1ebae4b
|
Fix this to use the right block ID
llvm-svn: 36550
|
2007-04-29 05:49:09 +00:00 |
|
Chris Lattner
|
87351e2a52
|
moved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.
llvm-svn: 36549
|
2007-04-29 05:31:57 +00:00 |
|
Chris Lattner
|
e6e364c198
|
start code for writing out instructions. Separate BB#s from normal value
#'s.
llvm-svn: 36472
|
2007-04-26 05:53:54 +00:00 |
|
Chris Lattner
|
5f640b9cc9
|
add support for incorporating and purging functions to the value enumerator
llvm-svn: 36465
|
2007-04-26 03:50:57 +00:00 |
|
Chris Lattner
|
a5211c43c2
|
improve a comment
llvm-svn: 36464
|
2007-04-26 03:32:43 +00:00 |
|
Chris Lattner
|
831d420256
|
move some code around, fix a bug in the reader reading globalinits (which
I just introduced), stub out function reading, purge aggregate values from
the value table before reading functions.
llvm-svn: 36463
|
2007-04-26 03:27:58 +00:00 |
|
Chris Lattner
|
44c1707207
|
add bitcode alias support
llvm-svn: 36461
|
2007-04-26 02:46:40 +00:00 |
|
Chris Lattner
|
1e16bcf7ff
|
implement reading and writing of constant exprs.
llvm-svn: 36394
|
2007-04-24 07:07:11 +00:00 |
|
Chris Lattner
|
1e50c299a8
|
fix off-by-one computing size for section abbrevs
llvm-svn: 36388
|
2007-04-24 03:29:47 +00:00 |
|
Chris Lattner
|
52523561d9
|
Emit module-level constants.
llvm-svn: 36384
|
2007-04-24 00:16:04 +00:00 |
|
Chris Lattner
|
215e9cd3c2
|
write out the symtab for globals.
llvm-svn: 36374
|
2007-04-23 20:35:01 +00:00 |
|
Chris Lattner
|
b5491378b1
|
implement reading of abbrevs, and writing of abbreviated global varrs.
llvm-svn: 36367
|
2007-04-23 18:58:34 +00:00 |
|
Chris Lattner
|
4b00d92a09
|
first part of implementation of abbrevs. The writer isn't fully there yet and the
reader doesn't handle them at all yet.
llvm-svn: 36363
|
2007-04-23 16:04:05 +00:00 |
|
Chris Lattner
|
362b4a1c92
|
promote LLVMBitCodes to be a public header
llvm-svn: 36358
|
2007-04-23 01:01:37 +00:00 |
|
Chris Lattner
|
c1d10d67a1
|
Initial support for writing bitcode files. This currently only writes types,
the type symtab, and global/function protos, and is missing the important
size optimization, but it is a place to start.
llvm-svn: 36331
|
2007-04-22 06:24:45 +00:00 |
|