Chris Lattner
48f848716e
implement scafolding for lazy deserialization of function bodies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36614 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 04:59:48 +00:00
Anton Korobeynikov
9cd3ccf506
Implement visibility checking during linking. Also implement protected
...
visibility support for bitcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36577 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 20:56:48 +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
Anton Korobeynikov
7dde0ff0ba
This is not "FIXME" anymore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36541 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 14:57:59 +00:00
Chris Lattner
198f34ac35
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36463 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 03:27:58 +00:00
Chris Lattner
07d98b4afb
add bitcode alias support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 02:46:40 +00:00
Chris Lattner
f66d20da61
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36398 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 18:15:21 +00:00
Chris Lattner
084a844d6d
fix memory leak
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36397 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 17:22:05 +00:00
Chris Lattner
f581c3b81e
implement reading and writing of constant exprs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36394 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 07:07:11 +00:00
Chris Lattner
522b7b104c
implement support for reading aggregate constants, including handling forward
...
constant references, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36391 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 05:48:56 +00:00
Chris Lattner
0eef08046e
add supprot for FP constants, wide integers, and fix the encoding of MININT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36390 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 04:04:35 +00:00
Chris Lattner
e16504eb4e
read basic constants: null, undef, integers <= 64bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36389 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 03:30:34 +00:00
Chris Lattner
e84bcb922d
move check to the right place :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36386 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 00:21:45 +00:00
Chris Lattner
6dbfd7bfbc
track global inits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36385 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 00:18:21 +00:00
Chris Lattner
0b2482a1eb
Read global symtab
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 21:26:05 +00:00
Chris Lattner
d127c1b5f3
implement reading of abbrevs, and writing of abbreviated global varrs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36367 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 18:58:34 +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
47f96bf246
promote LLVMBitCodes to be a public header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36358 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 01:01:37 +00:00
Jeff Cohen
cb403d69fb
Fix build problem with Gentoo 4.1.1-r3.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36348 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 18:49:32 +00:00
Chris Lattner
caee0dccff
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36330 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 06:23:29 +00:00