Ted Kremenek
d29fe31fcd
Added special treatment of serializing NULL pointers.
...
llvm-svn: 43357
2007-10-25 18:42:52 +00:00
Ted Kremenek
9749790ef5
Created header file to include minimal forward references needed for
...
object serialization.
llvm-svn: 43352
2007-10-25 18:19:29 +00:00
Ted Kremenek
195382dce2
Implemented prototype serialization of pointers, including support
...
for backpatching.
Added Deserialize::ReadVal.
llvm-svn: 43319
2007-10-25 00:10:21 +00:00
Ted Kremenek
b3085f2d74
Split Serialization.h into separate headers: Serialize.h and
...
Deserialize.h Serialization.h now includes trait speciailizations for
unsigned long, etc.
llvm-svn: 43307
2007-10-24 19:06:40 +00:00
Hartmut Kaiser
b72a8fcf9c
Silenced a VC++ warning.
...
llvm-svn: 43276
2007-10-24 00:06:31 +00:00
Ted Kremenek
bb85c21ffc
Added "ReadEnum" and "WriteEnum" to serialization classes.
...
llvm-svn: 43265
2007-10-23 22:17:03 +00:00
Ted Kremenek
72fe268f74
Added preliminary implementation of generic object serialization to bitcode.
...
llvm-svn: 43261
2007-10-23 21:29:33 +00:00
Dan Gohman
7fa473514d
Add explicit keywords.
...
llvm-svn: 42747
2007-10-08 15:08:41 +00:00
Reid Spencer
3e54e72ef1
Fix minor doxygen nits.
...
llvm-svn: 40854
2007-08-05 20:06:04 +00:00
Dale Johannesen
dda00eb44d
Long double, part 1 of N. Support in IR.
...
llvm-svn: 40774
2007-08-03 01:03:46 +00:00
Gabor Greif
018330fd12
finishing touches of bytecode -> bitcode changes. also unbreak Windows
...
llvm-svn: 37950
2007-07-06 20:28:40 +00:00
Gabor Greif
f5e225a756
eliminate residual cruft related to recognizing bytecode
...
files.
bitcode files are the only LLVM format left.
llvm-svn: 37945
2007-07-06 13:38:17 +00:00
Gabor Greif
5f705671e4
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913
2007-07-05 17:07:56 +00:00
Chris Lattner
114dad2f8f
update comments, no functionality change
...
llvm-svn: 36929
2007-05-08 05:38:32 +00:00
Chris Lattner
6cfc34329b
Move this here from Bytecode/Archive.h
...
llvm-svn: 36865
2007-05-06 09:14:53 +00:00
Chris Lattner
87753518a9
allow zero-length arrays
...
llvm-svn: 36863
2007-05-06 08:22:10 +00:00
Chris Lattner
37779a0b4c
we aren't at the end of stream until we've consumed all the bytes AND all
...
the bits in those bytes.
llvm-svn: 36861
2007-05-06 08:12:09 +00:00
Jeff Cohen
0b108b4f29
Make code more 64-bit aware.
...
llvm-svn: 36833
2007-05-06 03:24:19 +00:00
Jeff Cohen
ce844b2aaa
Unbreak VC++.
...
llvm-svn: 36831
2007-05-06 03:12:47 +00:00
Chris Lattner
bf23240f44
add a new CreateBitcodeWriterPass method, which creates a bitcode writer as
...
a pass
llvm-svn: 36828
2007-05-06 02:30:12 +00:00
Chris Lattner
c9ca38fedf
add inline asm code
...
llvm-svn: 36826
2007-05-06 01:50:11 +00:00
Chris Lattner
2753e54f7b
Fix a subtle bug that prevented round-tripping 470.lbm
...
llvm-svn: 36825
2007-05-06 01:43:38 +00:00
Chris Lattner
6d0c5eb739
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
2007-05-06 00:53:07 +00:00
Chris Lattner
34b256e1a6
implement the 'string constant' optimization. This shrinks kc.bit from
...
2878544 to 2815788
llvm-svn: 36818
2007-05-06 00:35:24 +00:00
Chris Lattner
9818d0a7e6
fix a bug I introduced when I merged some code together
...
llvm-svn: 36813
2007-05-05 23:40:48 +00:00
Chris Lattner
7d16cb364d
minor bugfix
...
llvm-svn: 36777
2007-05-05 07:20:34 +00:00
Chris Lattner
cedc5577f2
add a 6-bit encoding type for strings.
...
llvm-svn: 36770
2007-05-05 01:15:42 +00:00
Chris Lattner
eca2bb1334
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
2007-05-05 00:17:00 +00:00
Chris Lattner
e2b2272c53
use a template to eliminate manual code duplication
...
llvm-svn: 36757
2007-05-04 20:40:50 +00:00
Chris Lattner
75b84adf6b
add support for array abbreviations.
...
llvm-svn: 36754
2007-05-04 20:33:47 +00:00
Chris Lattner
a4aa2e9b7a
eliminate lengths from record bodies
...
llvm-svn: 36751
2007-05-04 19:10:48 +00:00
Chris Lattner
4e0c6003b7
minor cleanups. Add provisions for a new standard BLOCKINFO_BLOCK
...
block type.
llvm-svn: 36748
2007-05-04 18:25:49 +00:00
Chris Lattner
f0086ffafa
refcount BitCodeAbbrev objects
...
llvm-svn: 36747
2007-05-04 17:35:19 +00:00
Chris Lattner
bb8d1755f6
remove unused code
...
llvm-svn: 36727
2007-05-04 03:01:46 +00:00
Chris Lattner
2d0c97d9a1
add new codes
...
llvm-svn: 36725
2007-05-04 03:00:00 +00:00
Chris Lattner
43c70c8404
add a new code
...
llvm-svn: 36703
2007-05-03 22:16:11 +00:00
Chris Lattner
79333821da
update to reflect reality
...
llvm-svn: 36643
2007-05-02 05:47:22 +00:00
Chris Lattner
21e0d64a6e
several bitfixes to JumpToBit
...
llvm-svn: 36616
2007-05-01 05:51:32 +00:00
Chris Lattner
eb2a5f5f99
add JumpToBit, an explicit init method, and a default ctor.
...
llvm-svn: 36613
2007-05-01 04:59:06 +00:00
Chris Lattner
92eca49c3f
add missing opcode.
...
llvm-svn: 36608
2007-05-01 02:12:05 +00:00
Chris Lattner
31d1dec66d
add some helpers
...
llvm-svn: 36580
2007-04-29 21:49:05 +00:00
Chris Lattner
8a40d39a8e
compute this value correctly
...
llvm-svn: 36575
2007-04-29 19:49:58 +00:00
Chris Lattner
d61ccde429
add a method
...
llvm-svn: 36571
2007-04-29 19:17:32 +00:00
Chris Lattner
8308e85781
make this file self-contained
...
llvm-svn: 36555
2007-04-29 08:05:07 +00:00
Chris Lattner
eee1022086
Switch the bitcode reader interface to take a MemoryBuffer instead of knowing
...
anything about disk I/O itself. This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.
This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode. Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.
I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.
llvm-svn: 36554
2007-04-29 07:54:31 +00:00
Chris Lattner
e1248f05f2
start defining codes for instructions
...
llvm-svn: 36471
2007-04-26 05:53:04 +00:00
Chris Lattner
4721ac3ee0
add a new code
...
llvm-svn: 36462
2007-04-26 03:26:26 +00:00
Chris Lattner
4a0785ffcd
add alias support to bitcode
...
llvm-svn: 36460
2007-04-26 02:46:23 +00:00
Chris Lattner
61f8d0e81c
comentate
...
llvm-svn: 36395
2007-04-24 15:54:42 +00:00
Chris Lattner
5ae162a9d2
add records for constant exprs
...
llvm-svn: 36393
2007-04-24 07:03:08 +00:00