Chris Lattner
fd1ae95b8f
allow the 8-bit abbrev to be used for either bb or other values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36761 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 21:31:13 +00:00
Chris Lattner
2453f71ae1
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? :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36759 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 20:58:35 +00:00
Chris Lattner
5969830361
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36758 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 20:52:02 +00:00
Bill Wendling
4222d806fa
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36756 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 20:38:40 +00:00
Chris Lattner
2e7899dae9
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36755 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 20:34:50 +00:00
Chris Lattner
15e6d170e8
eliminate internal length fields from record. Records already know their
...
total length
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 19:11:41 +00:00
Chris Lattner
07faafc8f9
stub out creation of BLOCKINFO_BLOCK
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36749 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 18:26:27 +00:00
Duncan Sands
3b346368de
A bitcast of a global variable may have been constant folded to a GEP -
...
handle this case too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36745 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 17:12:26 +00:00
Dan Gohman
e5b01bea7b
Use IntrinsicInst to test for prefetch instructions, which is ever so
...
slightly nicer than using CallInst with an extra check; thanks Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36743 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 14:59:09 +00:00
Chris Lattner
6da91d3c2c
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36742 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 05:21:47 +00:00
Chris Lattner
12f535b937
simple optimization for the type table
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36741 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 05:05:48 +00:00
Chris Lattner
39b2e8b56f
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36740 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 04:01:37 +00:00
Chris Lattner
dd3094a2a8
fix a bug where llvm-as couldn't assemble the .ll file for 252.eon.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36739 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 04:01:07 +00:00
Chris Lattner
964b5f2701
storeinst ctor takes isvolatile before alignment. With this, 176.gcc roundtrips
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36738 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:57:30 +00:00
Chris Lattner
1d1f9ade54
fix encoding of invoke instructions. kc++ now round trips
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36737 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:52:24 +00:00
Chris Lattner
35a0470e02
fix a misplaced error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36736 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:50:29 +00:00
Chris Lattner
9113e73ecf
encode and read param attrs along with function type. WE can now roundtrip Olden/voronoi loslessly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36735 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:41:34 +00:00
Chris Lattner
645fc4edc2
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36734 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:39:28 +00:00
Reid Spencer
e4b4394b2f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36733 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:37:38 +00:00
Chris Lattner
48c85b84c1
add support for reading the param attrs block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36731 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:30:17 +00:00
Chris Lattner
f6f9cd1bf2
fix a bug encoding param attrs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36730 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:14:09 +00:00
Chris Lattner
dc78d3a800
remove dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36728 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:02:54 +00:00
Chris Lattner
f0a6531997
add writer support for param attrs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36724 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 02:59:04 +00:00
Reid Spencer
c8f8a242e4
Allow this to compile with gcc 4.0.X
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36723 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 01:43:33 +00:00
Chris Lattner
2020ca2414
pass by reference, not by value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36721 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 00:45:24 +00:00
Chris Lattner
62bbeea8ea
trivial scaffolding for param attrs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36720 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 00:44:52 +00:00
Evan Cheng
97c9bb5cc6
On Mac OS X, GV requires an extra load only when relocation-model is non-static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36718 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 00:26:58 +00:00
Evan Cheng
a7d4a04d24
Don't create indexed load / store with zero offset!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36716 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 23:52:19 +00:00
Evan Cheng
bdc9869dbf
Should never see an indexed load / store with zero offset.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36714 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 23:30:36 +00:00
Dan Gohman
2acc760165
Allow strength reduction to make use of addressing modes for the
...
address operand in a prefetch intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36713 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 23:20:33 +00:00
Chris Lattner
50954f5cba
enumerate parameter attr lists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36709 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:46:43 +00:00
Chris Lattner
76520191ab
Encoding calling conv info in call/invoke instrs, tree add now round trips completely
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36707 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:34:03 +00:00
Chris Lattner
c9c55a9d2f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36706 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:21:59 +00:00
Chris Lattner
38b12ce186
don't bother encoding # varargs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36705 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:19:34 +00:00
Chris Lattner
e825ed5a03
fix encoding of BB names in the symtab
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36704 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:18:21 +00:00
Chris Lattner
f61e6457a5
bug fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36701 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:09:51 +00:00
Jeff Cohen
b4dbd9e243
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36700 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:09:21 +00:00
Chris Lattner
0579f7f17f
implement the rest of the instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36699 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:04:19 +00:00
Devang Patel
99c282453a
Use iterative while loop instead of recursive function call.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36694 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 20:55:18 +00:00
Dale Johannesen
4ac075c859
Evan's patch to avoid FPreg->intreg copy for cvt; store to mem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36693 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 20:54:42 +00:00
Lauro Ramos Venancio
e8e5495474
Debug support for arm-linux.
...
Patch by Raul Herbster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36690 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 20:28:35 +00:00
Chris Lattner
2a98ccabb4
add a few more instructions, getting close
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36688 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:58:09 +00:00
Dan Gohman
9570165ef0
Indent the .text, .data, and .bss directives in assembly output, so that
...
they are consistent with the other directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36687 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:46:30 +00:00
Chris Lattner
82493289e0
This is a patch to fix a compile error in STLExtras.h, and
...
a bug in GraphWriter.cpp.
Patch by Florian Brandner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36684 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:32:10 +00:00
Chris Lattner
24eac6cb00
silence annoying gcc 4.3 warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36681 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:15:56 +00:00
Chris Lattner
a5ae15ecb7
silence some annoying gcc 4.3 warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36680 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:15:36 +00:00
Chris Lattner
75c7d2bd55
Allow i/s to match (gv+c). This fixes CodeGen/PowerPC/2007-05-03-InlineAsm-S-Constraint.ll
...
and PR1382
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36672 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 16:54:34 +00:00
Chris Lattner
dc43a88b81
Fix two classes of bugs:
...
1. x86 backend rejected (&gv+c) for the 'i' constraint when in static mode.
2. the matcher didn't correctly reject and accept some global addresses.
the right predicate is GVRequiresExtraLoad, not "relomodel = pic".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36670 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 16:52:29 +00:00
Chris Lattner
388488d604
add support for printing offset from global
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36669 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 16:42:23 +00:00
Chris Lattner
5f696035e5
revert accidental commit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 16:40:25 +00:00