Dale Johannesen
86f367a6b7
Next round of APFloat changes.
...
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double. Remove
the ConstantFP double interfaces.
Use APFloat functions for constant folding arithmetic
and comparisons.
(There are still way too many places APFloat is
just a wrapper around host float/double, but we're
getting there.)
llvm-svn: 41747
2007-09-06 18:13:44 +00:00
David Greene
8cda5af2e7
Update GEP constructors to use an iterator interface to fix
...
GLIBCXX_DEBUG issues.
llvm-svn: 41697
2007-09-04 15:46:09 +00:00
David Greene
5b85021be8
Update InvokeInst to work like CallInst
...
llvm-svn: 41506
2007-08-27 19:04:21 +00:00
Dale Johannesen
21c0eac378
Patch 10 for long double. Doing constants right needs expanding ConstantFP
...
to handle values bigger than double. If we assume host==target and host
long double works correctly, this is not too bad, but we don't want to
have that limitation longterm. I could implement accepting double
constants as long double or something like that, which would lead to
incorrect codegen with no errors; the more I think about that the worse
it seems. Rather than do such a hack that would be backed out later,
I'm settling for giving reasonable error messages, for now.
llvm-svn: 40974
2007-08-09 22:51:36 +00:00
Chandler Carruth
00e56b0e81
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
...
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
llvm-svn: 40807
2007-08-04 01:51:18 +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
David Greene
f06a395bb9
New CallInst interface to address GLIBCXX_DEBUG errors caused by
...
indexing an empty std::vector.
Updates to all clients.
llvm-svn: 40660
2007-08-01 03:43:44 +00:00
Chris Lattner
388423f08c
remove a dead case
...
llvm-svn: 37916
2007-07-05 17:18:32 +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
c63d04ecce
Fix PR1434 and test/Linker/link-archive.ll, this is a regression from 1.9.
...
llvm-svn: 37204
2007-05-18 04:02:46 +00:00
Chris Lattner
272d600454
implement the ModuleProvider::dematerializeFunction hook
...
llvm-svn: 37080
2007-05-15 06:29:44 +00:00
Chris Lattner
fe54b2a495
allow partially materialized modules to be written out, which just strips out
...
the functions which haven't been read.
llvm-svn: 36999
2007-05-11 23:51:59 +00:00
Chris Lattner
062b15b7cc
Make a preemptive bitcode format change to support PR1146. This lets us do
...
pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should
be merged into the 2.0 release branch.
llvm-svn: 36928
2007-05-08 05:38:01 +00:00
Chris Lattner
6056636de8
fix off-by-one that caused the llvm2cpp test to fail
...
llvm-svn: 36880
2007-05-06 19:27:46 +00:00
Chris Lattner
dc7a11940e
Flush the file after writing bitcode so that clients who don't close their
...
ofstreams will be ok.
llvm-svn: 36878
2007-05-06 19:19:23 +00:00
Chris Lattner
af0a11cd65
Fix a nasty problem where we would miss enumeration of some types. This fixes
...
issues with CE_CAST etc.
llvm-svn: 36864
2007-05-06 08:35:19 +00:00
Chris Lattner
0c204417b2
Allow structs with zero fields.
...
llvm-svn: 36862
2007-05-06 08:21:50 +00:00
Chris Lattner
8b0bda0104
add a missing check
...
llvm-svn: 36859
2007-05-06 07:33:01 +00:00
Jeff Cohen
64156becaa
Keep header file free of 'possible loss of data' warnings.
...
llvm-svn: 36832
2007-05-06 03:23:14 +00:00
Jeff Cohen
ce844b2aaa
Unbreak VC++.
...
llvm-svn: 36831
2007-05-06 03:12:47 +00:00
Chris Lattner
ad8aadac37
add abbrevs for binops and casts. This shrinks a testcase from 725132->682500
...
bytes.
llvm-svn: 36829
2007-05-06 02:38:57 +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
7eb319ab65
implement reading/writing of inlineasm objects
...
llvm-svn: 36827
2007-05-06 01:58:20 +00:00
Chris Lattner
0505a9f632
add some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388
...
llvm-svn: 36823
2007-05-06 01:28:01 +00:00
Chris Lattner
50460e7c48
enumerate the operands of a constant before we enumerate the constant itself
...
This avoids fwd references in the reader.
llvm-svn: 36822
2007-05-06 01:00:28 +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
63002bb235
add an abbreviation for the string constants opzn, shrinking the constnats
...
block from:
Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1722
Total Size: 3.85976e+06b/482470B/120617W
% of file: 16.7609
Average Size: 2241.44b/280.18B/70.045W
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 1/0.00058072
Tot/Avg Records: 26423/15.3444
% Abbrev Recs: 69.1746
to:
Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1724
Total Size: 2.62406e+06b/328008B/82001.9W
% of file: 12.041
Average Size: 1522.08b/190.26B/47.5649W
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 2/0.00116009
Tot/Avg Records: 26280/15.2436
% Abbrev Recs: 68.9992
This shrinks kc++ from 2815788 to 2724088 bytes, which means the bitcode
file is now smaller than the bytecode file.
llvm-svn: 36820
2007-05-06 00:42:18 +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
9df45744b0
further reduce the redundancy of types in the instruction encoding. This
...
shrinks function bodies in kc++ from 891913B to 884073B
llvm-svn: 36817
2007-05-06 00:21:25 +00:00
Chris Lattner
32d91f39ca
stop encoding type/value pairs when the type is implied by the value.
...
This shrinks the function block of kc++ from 1055K to 906K
llvm-svn: 36816
2007-05-06 00:00:00 +00:00
Chris Lattner
ed5887b739
add support for BLOCKINFO records at the module level. This fixes the reader
...
issues reid noticed last night.
llvm-svn: 36785
2007-05-05 18:57:30 +00:00
Chris Lattner
b865b049eb
add an abbrev for loads. This shrinks the function block about 50K, from:
...
Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.8434e+06b/1.10542e+06B/276356W
% of file: 35.6726
Average Size: 3772.78b/471.598B/117.899W
Tot/Avg SubBlocks: 4065/1.73422
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 128487/54.8153
% Abbrev Recs: 0
to:
Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.44518e+06b/1.05565e+06B/263912W
% of file: 34.6203
Average Size: 3602.89b/450.362B/112.59W
Tot/Avg SubBlocks: 4065/1.73422
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 128487/54.8153
% Abbrev Recs: 22.2077
llvm-svn: 36779
2007-05-05 07:44:49 +00:00
Chris Lattner
db60118ac2
add abbrevs for the constants tables. This shrinks it from 4.49755e6 bits
...
to 3.85972e6 bits in kc++
llvm-svn: 36778
2007-05-05 07:36:14 +00:00
Chris Lattner
e5194cc663
Add abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays.
...
This shrinks the type_block of kc++ from 139901 bits to 99389 bits (0.55% to 0.39%
of the file), a 40% reduction.
This shrink the record from:
Block ID #10 (TYPE_BLOCK):
Num Instances: 1
Total Size: 139901b/17487.6B/4371.91W
% of file: 0.549306
Num Abbrevs: 0
Num Records: 3203
% Abbrev Recs: 0
to:
Block ID #10 (TYPE_BLOCK):
Num Instances: 1
Total Size: 99389b/12423.6B/3105.91W
% of file: 0.390862
Num Abbrevs: 4
Num Records: 3203
% Abbrev Recs: 99.6566
With a common histogram of:
Code Histogram:
1613 POINTER
1100 FUNCTION
255 STRUCT
224 ARRAY
5 INTEGER
2 OPAQUE
1 LABEL
1 DOUBLE
1 VOID
1 NUMENTRY
llvm-svn: 36776
2007-05-05 06:30:12 +00:00
Chris Lattner
967ab6fe6b
add a char6 abbrev for bbnames and value names. This represents each character
...
with 6 bits where possible. This shrinks kc++ from 3324164B to 3183584B. The
old VST was:
Block ID #14 (VALUE_SYMTAB):
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.6484
The new one is:
Block ID #14 (VALUE_SYMTAB):
Total Size: 1.15467e+07b/1.44334e+06B/360834W
Average Size: 4923.96b/615.495B/153.874W
% of file: 45.3368
This is 11% smaller than the VST in the bytecode format.
llvm-svn: 36771
2007-05-05 01:26:50 +00:00
Chris Lattner
277c22f0a9
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
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
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
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
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
f0e3a89fed
stub out creation of BLOCKINFO_BLOCK
...
llvm-svn: 36749
2007-05-04 18:26:27 +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
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
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
36f37e3f99
remove dead code
...
llvm-svn: 36728
2007-05-04 03:02:54 +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
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
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
Chris Lattner
83281f01ab
don't bother encoding # varargs
...
llvm-svn: 36705
2007-05-03 22:19:34 +00:00
Chris Lattner
888ca49f41
fix encoding of BB names in the symtab
...
llvm-svn: 36704
2007-05-03 22:18:21 +00:00
Chris Lattner
e144600a5b
bug fixes
...
llvm-svn: 36701
2007-05-03 22:09:51 +00:00
Chris Lattner
a09bba3302
implement the rest of the instructions
...
llvm-svn: 36699
2007-05-03 22:04:19 +00:00
Chris Lattner
09cc7ca696
add a few more instructions, getting close
...
llvm-svn: 36688
2007-05-03 18:58:09 +00:00
Chris Lattner
972e049d0d
add reader logic for terminator instrs.
...
llvm-svn: 36642
2007-05-02 05:46:45 +00:00
Chris Lattner
10c4095f00
add reader support for a bunch of new instructions
...
llvm-svn: 36641
2007-05-02 05:16:49 +00:00
Chris Lattner
df04f1b80e
read a few instructions, fix some bugs. This is enough to be able to round
...
trip function bodies like this:
define <2 x i64> @foo(<2 x i64> %x, <2 x i64> %y) {
%tmp4 = bitcast <2 x i64> %y to <8 x i16> ; <<8 x i16>> [#uses=1]
%tmp5 = bitcast <2 x i64> %x to <8 x i16> ; <<8 x i16>> [#uses=1]
%tmp = add <8 x i16> %tmp5, %tmp4 ; <<8 x i16>> [#uses=1]
%tmp6 = bitcast <8 x i16> %tmp to <2 x i64> ; <<2 x i64>> [#uses=1]
ret <2 x i64> %tmp6
}
llvm-svn: 36640
2007-05-02 04:27:25 +00:00
Chris Lattner
f81f6e154c
use the correct code for binop instrs
...
llvm-svn: 36639
2007-05-02 04:26:36 +00:00
Chris Lattner
699d9b76c1
fix build with non-buggy compilers
...
llvm-svn: 36621
2007-05-01 07:03:37 +00:00
Chris Lattner
4795aed9ec
handle function-level forward references, read binops.
...
llvm-svn: 36620
2007-05-01 07:01:57 +00:00
Chris Lattner
6528334ab7
implement materializeModule, force deallocation of vector memory when we
...
are done with them, start implementing ParseFunctionBody
llvm-svn: 36617
2007-05-01 05:52:21 +00:00
Chris Lattner
7544cfb05c
The stream to read from is now an ivar
...
llvm-svn: 36615
2007-05-01 05:01:34 +00:00
Chris Lattner
cfd5b13e25
implement scafolding for lazy deserialization of function bodies
...
llvm-svn: 36614
2007-05-01 04:59:48 +00:00
Chris Lattner
f7ccdfbcc4
write the symbol table for function bodies
...
llvm-svn: 36610
2007-05-01 02:14:57 +00:00
Chris Lattner
14cd3180ca
encode all of the instructions.
...
llvm-svn: 36609
2007-05-01 02:13:26 +00:00
Anton Korobeynikov
081d3bdd9f
Implement visibility checking during linking. Also implement protected
...
visibility support for bitcode.
llvm-svn: 36577
2007-04-29 20:56:48 +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
5e7db3efcd
Fix this to use the right block ID
...
llvm-svn: 36550
2007-04-29 05:49:09 +00:00
Chris Lattner
ffbd0c541a
moved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.
...
llvm-svn: 36549
2007-04-29 05:31:57 +00:00
Anton Korobeynikov
07528e335c
This is not "FIXME" anymore
...
llvm-svn: 36541
2007-04-28 14:57:59 +00:00
Chris Lattner
a9228a9ef7
start code for writing out instructions. Separate BB#s from normal value
...
#'s.
llvm-svn: 36472
2007-04-26 05:53:54 +00:00
Chris Lattner
0a07635bdd
enumerate BB's separately from other function values.
...
llvm-svn: 36467
2007-04-26 04:42:16 +00:00
Chris Lattner
c1acf6a1af
add support for incorporating and purging functions to the value enumerator
...
llvm-svn: 36465
2007-04-26 03:50:57 +00:00
Chris Lattner
c6037e4be4
improve a comment
...
llvm-svn: 36464
2007-04-26 03:32:43 +00:00
Chris Lattner
726ec35588
move some code around, fix a bug in the reader reading globalinits (which
...
I just introduced), stub out function reading, purge aggregate values from
the value table before reading functions.
llvm-svn: 36463
2007-04-26 03:27:58 +00:00
Chris Lattner
c5a4c7c69a
add bitcode alias support
...
llvm-svn: 36461
2007-04-26 02:46:40 +00:00
Chris Lattner
2d9d9a4bcf
ensure that every error return sets a message (and goes through Error, for
...
easy breakpointing).
Fix bugs reading constantexpr geps. We now can disassemble kc++ global
initializers.
llvm-svn: 36398
2007-04-24 18:15:21 +00:00
Chris Lattner
107680bd42
fix memory leak
...
llvm-svn: 36397
2007-04-24 17:22:05 +00:00
Chris Lattner
30fd018c93
implement reading and writing of constant exprs.
...
llvm-svn: 36394
2007-04-24 07:07:11 +00:00
Chris Lattner
ce97f22311
implement support for reading aggregate constants, including handling forward
...
constant references, etc.
llvm-svn: 36391
2007-04-24 05:48:56 +00:00
Chris Lattner
77c83b943d
add supprot for FP constants, wide integers, and fix the encoding of MININT
...
llvm-svn: 36390
2007-04-24 04:04:35 +00:00
Chris Lattner
eff23e347b
read basic constants: null, undef, integers <= 64bits
...
llvm-svn: 36389
2007-04-24 03:30:34 +00:00
Chris Lattner
d5749518a1
fix off-by-one computing size for section abbrevs
...
llvm-svn: 36388
2007-04-24 03:29:47 +00:00
Chris Lattner
67dedcbc58
move check to the right place :)
...
llvm-svn: 36386
2007-04-24 00:21:45 +00:00
Chris Lattner
e1a864cccf
track global inits
...
llvm-svn: 36385
2007-04-24 00:18:21 +00:00
Chris Lattner
dd8df9ae56
Emit module-level constants.
...
llvm-svn: 36384
2007-04-24 00:16:04 +00:00
Chris Lattner
5e06e0faf4
Read global symtab
...
llvm-svn: 36378
2007-04-23 21:26:05 +00:00
Chris Lattner
ed7414171f
fix off-by one
...
llvm-svn: 36377
2007-04-23 21:23:41 +00:00
Chris Lattner
ada7a04469
write out the symtab for globals.
...
llvm-svn: 36374
2007-04-23 20:35:01 +00:00
Chris Lattner
f384c24a4d
implement reading of abbrevs, and writing of abbreviated global varrs.
...
llvm-svn: 36367
2007-04-23 18:58:34 +00:00
Chris Lattner
5510ac5a56
first part of implementation of abbrevs. The writer isn't fully there yet and the
...
reader doesn't handle them at all yet.
llvm-svn: 36363
2007-04-23 16:04:05 +00:00
Chris Lattner
7f11318d37
promote LLVMBitCodes to be a public header
...
llvm-svn: 36358
2007-04-23 01:01:37 +00:00
Jeff Cohen
577e8b8c63
Fix build problem with Gentoo 4.1.1-r3.
...
llvm-svn: 36348
2007-04-22 18:49:32 +00:00
Chris Lattner
21fd470c8c
add llvm ir bitcode definition file
...
llvm-svn: 36337
2007-04-22 07:03:00 +00:00
Chris Lattner
23910ea720
build the bitcode dir
...
llvm-svn: 36332
2007-04-22 06:26:05 +00:00
Chris Lattner
b7c184cbc1
Initial support for writing bitcode files. This currently only writes types,
...
the type symtab, and global/function protos, and is missing the important
size optimization, but it is a place to start.
llvm-svn: 36331
2007-04-22 06:24:45 +00:00
Chris Lattner
54e48ee45c
Initial support for reading bitcode files. They currently only read types,
...
the type symtab, and global/function protos, and are missing the important
size optimization, but it is a place to start.
llvm-svn: 36330
2007-04-22 06:23:29 +00:00