Chris Lattner
cb3d91b05b
add a denser encoding for null terminated strings, add a 6-bit abbrev as
...
well. This shrinks kc++ from 2724088 to 2717360 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36821 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:53:07 +00:00
Chris Lattner
ff7fc5dabe
implement the 'string constant' optimization. This shrinks kc.bit from
...
2878544 to 2815788
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36818 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:35:24 +00:00
Chris Lattner
07b54242a8
fix a bug I introduced when I merged some code together
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36813 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 23:40:48 +00:00
Chris Lattner
02a13b5c50
minor bugfix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36777 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 07:20:34 +00:00
Chris Lattner
28e4c4c9b3
add a 6-bit encoding type for strings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36770 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 01:15:42 +00:00
Chris Lattner
e17b658c79
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 :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36767 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 00:17:00 +00:00
Chris Lattner
8d42fc3da2
use a template to eliminate manual code duplication
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36757 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 20:40:50 +00:00
Chris Lattner
3c074f61ed
add support for array abbreviations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36754 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 20:33:47 +00:00
Chris Lattner
1d33bb3108
eliminate lengths from record bodies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36751 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 19:10:48 +00:00
Chris Lattner
a727d5502c
minor cleanups. Add provisions for a new standard BLOCKINFO_BLOCK
...
block type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36748 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 18:25:49 +00:00
Chris Lattner
299b2d2070
refcount BitCodeAbbrev objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36747 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 17:35:19 +00:00
Chris Lattner
20c7b986d9
remove unused code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36727 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:01:46 +00:00
Chris Lattner
dea4205556
add new codes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36725 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:00:00 +00:00
Chris Lattner
b7dd88fa7d
add a new code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36703 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:16:11 +00:00
Chris Lattner
fa5416b6f6
update to reflect reality
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36643 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02 05:47:22 +00:00
Chris Lattner
2bbb703e4f
several bitfixes to JumpToBit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36616 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 05:51:32 +00:00
Chris Lattner
90a5c7dbc1
add JumpToBit, an explicit init method, and a default ctor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36613 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 04:59:06 +00:00
Chris Lattner
10d4c586ed
add missing opcode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36608 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 02:12:05 +00:00
Chris Lattner
8d89f1fbb6
add some helpers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36580 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 21:49:05 +00:00
Chris Lattner
a2d0ad4fe2
compute this value correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36575 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 19:49:58 +00:00
Chris Lattner
bd40a6d3ee
add a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36571 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 19:17:32 +00:00
Chris Lattner
107d80956d
make this file self-contained
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36555 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 08:05:07 +00:00
Chris Lattner
c453f76e2b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36554 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 07:54:31 +00:00
Chris Lattner
c651e4c51e
start defining codes for instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 05:53:04 +00:00
Chris Lattner
eb0107af86
add a new code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36462 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 03:26:26 +00:00
Chris Lattner
d743f0e8f2
add alias support to bitcode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36460 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 02:46:23 +00:00
Chris Lattner
253bb78adb
comentate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 15:54:42 +00:00
Chris Lattner
c9c448ffa2
add records for constant exprs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36393 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 07:03:08 +00:00
Chris Lattner
2c783e46c3
add codes for constants table
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 23:29:59 +00:00
Chris Lattner
73f3fd775f
Fix a bug in bitstream writer handling abbrevs, add value symtab
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36373 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 20:34:46 +00:00
Chris Lattner
aea2012433
implement reading of abbrevs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36366 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 18:57:58 +00:00
Chris Lattner
2a5e354f20
minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36365 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 18:57:32 +00:00
Chris Lattner
6d4135a62e
finish implementation of basic abbrev writing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36364 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 17:43:52 +00:00
Chris Lattner
36d5e7d31b
first part of implementation of abbrevs. The writer isn't fully there yet and the
...
reader doesn't handle them at all yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36363 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 16:04:05 +00:00
Chris Lattner
8f122b1e7f
promote this to being a public header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 01:01:15 +00:00
Reid Spencer
7aaa4a5c09
Terminate with newline.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36345 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 16:31:22 +00:00
Jeff Cohen
a0c96a068c
Teach Visual Studio about Bitcode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36341 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 15:00:52 +00:00
Chris Lattner
b35ca9db9c
Define the content-independent interfaces to read/write bitcode files and
...
the high-level interface to read/write LLVM IR bitcode files.
This is a work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36329 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 06:22:05 +00:00