Chris Lattner
7dce4b04ca
add a 6-bit encoding type for strings.
...
llvm-svn: 36770
2007-05-05 01:15:42 +00:00
Chris Lattner
de05f6be35
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
2007-05-05 00:47:19 +00:00
Chris Lattner
9181ddf91d
update to new APIs, make output a bit (haha) nicer
...
llvm-svn: 36768
2007-05-05 00:17:42 +00:00
Chris Lattner
982ec1eddc
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
Lauro Ramos Venancio
8f8199086f
Add a processor.
...
llvm-svn: 36765
2007-05-04 22:16:30 +00:00
Chris Lattner
a09879663d
allow the 8-bit abbrev to be used for either bb or other values
...
llvm-svn: 36761
2007-05-04 21:31:13 +00:00
Chris Lattner
fd1ad10e61
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
2007-05-04 20:58:35 +00:00
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
0c7704f23c
use a template to eliminate manual code duplication
...
llvm-svn: 36757
2007-05-04 20:40:50 +00:00
Bill Wendling
e6182267d7
Add an "implies" field to features. This indicates that, if the current
...
feature is set, then the features in the implied list should be set also.
The opposite is also enforced: if a feature in the implied list isn't set,
then the feature that owns that implies list shouldn't be set either.
llvm-svn: 36756
2007-05-04 20:38:40 +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
5c71df1376
add support for array abbreviations.
...
llvm-svn: 36754
2007-05-04 20:33:47 +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
a49bfa6701
eliminate lengths from record bodies
...
llvm-svn: 36751
2007-05-04 19:10:48 +00:00
Chris Lattner
702658c0cc
stub out creation of BLOCKINFO_BLOCK
...
llvm-svn: 36749
2007-05-04 18:26:27 +00:00
Chris Lattner
83e10c4e67
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
fde2829347
refcount BitCodeAbbrev objects
...
llvm-svn: 36747
2007-05-04 17:35:19 +00:00
Duncan Sands
6e5011d208
Test that the eh lowering code can handle constant folded bitcasts.
...
llvm-svn: 36746
2007-05-04 17:14:42 +00:00
Duncan Sands
4cb9eb81ef
A bitcast of a global variable may have been constant folded to a GEP -
...
handle this case too.
llvm-svn: 36745
2007-05-04 17:12:26 +00:00
Dan Gohman
2bcbd5b7ca
Use IntrinsicInst to test for prefetch instructions, which is ever so
...
slightly nicer than using CallInst with an extra check; thanks Chris.
llvm-svn: 36743
2007-05-04 14:59:09 +00:00
Chris Lattner
430e80d670
optimize constant layout. This fixes encoding of 181.mcf (by ensuring
...
integer structure idx's are emitted before constant expr geps) and shrinks
files slightly. For example kc++ shrinks from 4326188 to 4240128 bytes.
llvm-svn: 36742
2007-05-04 05:21:47 +00:00
Chris Lattner
a8713beddd
simple optimization for the type table
...
llvm-svn: 36741
2007-05-04 05:05:48 +00:00
Chris Lattner
5c455c3fe9
regenerate
...
llvm-svn: 36740
2007-05-04 04:01:37 +00:00
Chris Lattner
cf40d5097b
fix a bug where llvm-as couldn't assemble the .ll file for 252.eon.
...
llvm-svn: 36739
2007-05-04 04:01:07 +00:00
Chris Lattner
beca065b1e
storeinst ctor takes isvolatile before alignment. With this, 176.gcc roundtrips
...
llvm-svn: 36738
2007-05-04 03:57:30 +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
e11c6ce3bc
fix a misplaced error
...
llvm-svn: 36736
2007-05-04 03:50:29 +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
a919f6dddc
if functiontype is going to have a pointer to a paramattr object, it better
...
be const. The only way to get a pointer to these returns a const pointer.
llvm-svn: 36734
2007-05-04 03:39:28 +00:00
Reid Spencer
0454316c79
Bitcast all the bits of a floating point value, not just one. The zero
...
extension is needed because the constructor for the Destination value
causes the APInt to have a bit width of 1.
Patch by Guoling Han.
llvm-svn: 36733
2007-05-04 03:37:38 +00:00
Reid Spencer
955162aaae
Add a test case for testing the LLI interpreter wrt bitcast of fp to integer.
...
llvm-svn: 36732
2007-05-04 03:35:17 +00:00
Chris Lattner
fee5a3752a
add support for reading the param attrs block
...
llvm-svn: 36731
2007-05-04 03:30:17 +00:00
Chris Lattner
fc5b619419
fix a bug encoding param attrs
...
llvm-svn: 36730
2007-05-04 03:14:09 +00:00
Chris Lattner
c97d08f702
add a helper
...
llvm-svn: 36729
2007-05-04 03:13:39 +00:00
Chris Lattner
a68e3c7cf3
remove dead code
...
llvm-svn: 36728
2007-05-04 03:02:54 +00:00
Chris Lattner
302dc74536
remove unused code
...
llvm-svn: 36727
2007-05-04 03:01:46 +00:00
Chris Lattner
0b7c5121f7
add support for new codes/block
...
llvm-svn: 36726
2007-05-04 03:01:41 +00:00
Chris Lattner
e796a9eec9
add new codes
...
llvm-svn: 36725
2007-05-04 03:00:00 +00:00
Chris Lattner
e72bf9fda6
add writer support for param attrs
...
llvm-svn: 36724
2007-05-04 02:59:04 +00:00
Reid Spencer
dea02bd840
Allow this to compile with gcc 4.0.X
...
llvm-svn: 36723
2007-05-04 01:43:33 +00:00
Chris Lattner
2b1b18b2db
new testcase
...
llvm-svn: 36722
2007-05-04 00:51:23 +00:00
Chris Lattner
874eb28ee6
pass by reference, not by value
...
llvm-svn: 36721
2007-05-04 00:45:24 +00:00
Chris Lattner
e2f98ef52d
trivial scaffolding for param attrs
...
llvm-svn: 36720
2007-05-04 00:44:52 +00:00
Evan Cheng
726e66f734
Test load global in static mode.
...
llvm-svn: 36719
2007-05-04 00:29:34 +00:00
Evan Cheng
33c9886001
On Mac OS X, GV requires an extra load only when relocation-model is non-static.
...
llvm-svn: 36718
2007-05-04 00:26:58 +00:00
Evan Cheng
579abf45bb
New test case.
...
llvm-svn: 36717
2007-05-03 23:53:36 +00:00
Evan Cheng
044a0a8cfb
Don't create indexed load / store with zero offset!
...
llvm-svn: 36716
2007-05-03 23:52:19 +00:00
Evan Cheng
23040754b0
Should never see an indexed load / store with zero offset.
...
llvm-svn: 36714
2007-05-03 23:30:36 +00:00
Dan Gohman
3fbb18d1b6
Allow strength reduction to make use of addressing modes for the
...
address operand in a prefetch intrinsic.
llvm-svn: 36713
2007-05-03 23:20:33 +00:00
Chris Lattner
e4bbad630f
enumerate parameter attr lists.
...
llvm-svn: 36709
2007-05-03 22:46:43 +00:00