Chandler Carruth
7132e00de7
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
Chris Lattner
9eeada9470
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
a6f88ced8b
implement the ModuleProvider::dematerializeFunction hook
...
llvm-svn: 37080
2007-05-15 06:29:44 +00:00
Jeff Cohen
fd73e54ef8
Keep header file free of 'possible loss of data' warnings.
...
llvm-svn: 36832
2007-05-06 03:23:14 +00:00
Chris Lattner
df1233dfbb
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
fee5a3752a
add support for reading the param attrs block
...
llvm-svn: 36731
2007-05-04 03:30:17 +00:00
Chris Lattner
5285b5ea2f
add reader logic for terminator instrs.
...
llvm-svn: 36642
2007-05-02 05:46:45 +00:00
Chris Lattner
8393055447
handle function-level forward references, read binops.
...
llvm-svn: 36620
2007-05-01 07:01:57 +00:00
Chris Lattner
85b7b40621
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
48a8de3f4d
The stream to read from is now an ivar
...
llvm-svn: 36615
2007-05-01 05:01:34 +00:00
Chris Lattner
51ffe7ce15
implement scafolding for lazy deserialization of function bodies
...
llvm-svn: 36614
2007-05-01 04:59:48 +00:00
Chris Lattner
6694f60bec
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
831d420256
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
44c1707207
add bitcode alias support
...
llvm-svn: 36461
2007-04-26 02:46:40 +00:00
Chris Lattner
890683d636
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
1663ccaf13
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
fbc1d33b81
read basic constants: null, undef, integers <= 64bits
...
llvm-svn: 36389
2007-04-24 03:30:34 +00:00
Chris Lattner
47d131bd32
track global inits
...
llvm-svn: 36385
2007-04-24 00:18:21 +00:00
Chris Lattner
ccaa448dcf
Read global symtab
...
llvm-svn: 36378
2007-04-23 21:26:05 +00:00
Chris Lattner
362b4a1c92
promote LLVMBitCodes to be a public header
...
llvm-svn: 36358
2007-04-23 01:01:37 +00:00
Jeff Cohen
33be4c78ef
Fix build problem with Gentoo 4.1.1-r3.
...
llvm-svn: 36348
2007-04-22 18:49:32 +00:00
Chris Lattner
1314b9996d
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