Commit Graph

20 Commits

Author SHA1 Message Date
Chris Lattner
d67c632d96 implement the ModuleProvider::dematerializeFunction hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37080 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-15 06:29:44 +00:00
Jeff Cohen
650c938c41 Keep header file free of 'possible loss of data' warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36832 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 03:23:14 +00:00
Chris Lattner
7337ab9e92 stop encoding type/value pairs when the type is implied by the value.
This shrinks the function block of kc++ from 1055K to 906K


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36816 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:00:00 +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
f4c8e52433 add reader logic for terminator instrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36642 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02 05:46:45 +00:00
Chris Lattner
a7c49aac98 handle function-level forward references, read binops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36620 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 07:01:57 +00:00
Chris Lattner
980e5aad4c implement materializeModule, force deallocation of vector memory when we
are done with them, start implementing ParseFunctionBody


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36617 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 05:52:21 +00:00
Chris Lattner
866971474c The stream to read from is now an ivar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36615 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 05:01:34 +00:00
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
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
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
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
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
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
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