Chris Lattner
817fbdc02d
update to new APIs, make output a bit (haha) nicer
...
llvm-svn: 36768
2007-05-05 00:17: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
Lauro Ramos Venancio
4e4a4e36dd
Add a processor.
...
llvm-svn: 36765
2007-05-04 22:16:30 +00:00
Chris Lattner
28e448c9b5
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
b94c8f4ed8
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
2eaf2a2e40
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
e2b2272c53
use a template to eliminate manual code duplication
...
llvm-svn: 36757
2007-05-04 20:40:50 +00:00
Bill Wendling
dc82c5a195
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
94c8c289d0
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
75b84adf6b
add support for array abbreviations.
...
llvm-svn: 36754
2007-05-04 20:33:47 +00:00
Chris Lattner
52cbac8a1a
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
a4aa2e9b7a
eliminate lengths from record bodies
...
llvm-svn: 36751
2007-05-04 19:10:48 +00:00
Chris Lattner
f0e3a89fed
stub out creation of BLOCKINFO_BLOCK
...
llvm-svn: 36749
2007-05-04 18:26:27 +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
Duncan Sands
a3171eb245
Test that the eh lowering code can handle constant folded bitcasts.
...
llvm-svn: 36746
2007-05-04 17:14:42 +00:00
Duncan Sands
f2323ca89c
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
a97484da91
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
ddc5d5ce50
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
f59434ceca
simple optimization for the type table
...
llvm-svn: 36741
2007-05-04 05:05:48 +00:00
Chris Lattner
9f7278dff9
regenerate
...
llvm-svn: 36740
2007-05-04 04:01:37 +00:00
Chris Lattner
5c433c384d
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
f403c9a42c
storeinst ctor takes isvolatile before alignment. With this, 176.gcc roundtrips
...
llvm-svn: 36738
2007-05-04 03:57:30 +00:00
Chris Lattner
c0f186afab
fix encoding of invoke instructions. kc++ now round trips
...
llvm-svn: 36737
2007-05-04 03:52:24 +00:00
Chris Lattner
0fa3401f43
fix a misplaced error
...
llvm-svn: 36736
2007-05-04 03:50:29 +00:00
Chris Lattner
2f3c85827e
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
da3b0264f7
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
68ab99ffb6
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
4a38716edd
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
ccb3d450ba
add support for reading the param attrs block
...
llvm-svn: 36731
2007-05-04 03:30:17 +00:00
Chris Lattner
2eeffc8c5a
fix a bug encoding param attrs
...
llvm-svn: 36730
2007-05-04 03:14:09 +00:00
Chris Lattner
b973c9b64e
add a helper
...
llvm-svn: 36729
2007-05-04 03:13:39 +00:00
Chris Lattner
36f37e3f99
remove dead code
...
llvm-svn: 36728
2007-05-04 03:02:54 +00:00
Chris Lattner
bb8d1755f6
remove unused code
...
llvm-svn: 36727
2007-05-04 03:01:46 +00:00
Chris Lattner
6ded0dd248
add support for new codes/block
...
llvm-svn: 36726
2007-05-04 03:01:41 +00:00
Chris Lattner
2d0c97d9a1
add new codes
...
llvm-svn: 36725
2007-05-04 03:00:00 +00:00
Chris Lattner
990f7492d6
add writer support for param attrs
...
llvm-svn: 36724
2007-05-04 02:59:04 +00:00
Reid Spencer
8148449b40
Allow this to compile with gcc 4.0.X
...
llvm-svn: 36723
2007-05-04 01:43:33 +00:00
Chris Lattner
7cef11b66d
new testcase
...
llvm-svn: 36722
2007-05-04 00:51:23 +00:00
Chris Lattner
13e18fdf09
pass by reference, not by value
...
llvm-svn: 36721
2007-05-04 00:45:24 +00:00
Chris Lattner
54a0a58b82
trivial scaffolding for param attrs
...
llvm-svn: 36720
2007-05-04 00:44:52 +00:00
Evan Cheng
d5ddb11361
Test load global in static mode.
...
llvm-svn: 36719
2007-05-04 00:29:34 +00:00
Evan Cheng
658a4fc56f
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
f408ed9976
New test case.
...
llvm-svn: 36717
2007-05-03 23:53:36 +00:00
Evan Cheng
8c8b6ce116
Don't create indexed load / store with zero offset!
...
llvm-svn: 36716
2007-05-03 23:52:19 +00:00
Evan Cheng
8e5e87a16b
Should never see an indexed load / store with zero offset.
...
llvm-svn: 36714
2007-05-03 23:30:36 +00:00
Dan Gohman
e4d5ae9fcd
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
21928b0039
enumerate parameter attr lists.
...
llvm-svn: 36709
2007-05-03 22:46:43 +00:00
Chris Lattner
76e0063529
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
96aa97284a
the type field for a store is the type of the pointer, not the value.
...
With this fix I can round trip treeaadd, only losing calling conv info.
llvm-svn: 36706
2007-05-03 22:21:59 +00:00