Dan Gohman
e089160d10
InsertValue and ExtractValue constant expressions are always
...
folded. Remove code that handled the case where they aren't
folded, and remove bitcode reader/writer support for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53887 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-21 23:30:30 +00:00
Dan Gohman
e4977cf750
Make structs and arrays first-class types, and add assembly
...
and bitcode support for the extractvalue and insertvalue
instructions and constant expressions.
Note that this does not yet include CodeGen support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51468 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 01:55:30 +00:00
Nick Lewycky
280a6e607d
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
...
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 16:53:59 +00:00
Nick Lewycky
fc82fabe00
Add an unwind_to field to basic blocks, making them Users instead of Values.
...
This is the first checkin for PR1269, the new EH infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47802 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-02 02:48:09 +00:00
Devang Patel
197be3de7f
Read and write getresult.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47471 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22 02:49:49 +00:00
Chris Lattner
7ed47a1335
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 19:59:42 +00:00
Christopher Lamb
d49e18d29f
Implement part of review feedback for address spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44933 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-12 08:44:39 +00:00
Christopher Lamb
fe63fb986d
Implement address space attribute for LLVM pointer types. Address spaces are
...
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.
This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.
In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.
LangRef updates are forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44858 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-11 08:59:05 +00:00
Gordon Henriksen
80a75bfae9
Adding a collector name attribute to Function in the IR. These
...
methods are new to Function:
bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();
The assembly representation is as such:
define void @f() gc "shadow-stack" { ...
The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 03:18:06 +00:00
Dale Johannesen
320fc8a39e
Long double, part 1 of N. Support in IR.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40774 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-03 01:03:46 +00:00
Chris Lattner
7adb53e7b1
update comments, no functionality change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36929 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 05:38:32 +00:00
Chris Lattner
c5ff2cc3de
add inline asm code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36826 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 01:50:11 +00:00
Chris Lattner
cb3d91b05b
add a denser encoding for null terminated strings, add a 6-bit abbrev as
...
well. This shrinks kc++ from 2724088 to 2717360 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36821 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:53:07 +00:00
Chris Lattner
ff7fc5dabe
implement the 'string constant' optimization. This shrinks kc.bit from
...
2878544 to 2815788
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36818 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 00:35:24 +00:00
Chris Lattner
1d33bb3108
eliminate lengths from record bodies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36751 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 19:10:48 +00:00
Chris Lattner
a727d5502c
minor cleanups. Add provisions for a new standard BLOCKINFO_BLOCK
...
block type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36748 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 18:25:49 +00:00
Chris Lattner
20c7b986d9
remove unused code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36727 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:01:46 +00:00
Chris Lattner
dea4205556
add new codes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36725 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 03:00:00 +00:00
Chris Lattner
b7dd88fa7d
add a new code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36703 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 22:16:11 +00:00
Chris Lattner
fa5416b6f6
update to reflect reality
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36643 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-02 05:47:22 +00:00
Chris Lattner
10d4c586ed
add missing opcode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36608 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 02:12:05 +00:00
Chris Lattner
8d89f1fbb6
add some helpers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36580 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 21:49:05 +00:00
Chris Lattner
c651e4c51e
start defining codes for instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 05:53:04 +00:00
Chris Lattner
eb0107af86
add a new code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36462 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 03:26:26 +00:00
Chris Lattner
d743f0e8f2
add alias support to bitcode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36460 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 02:46:23 +00:00
Chris Lattner
253bb78adb
comentate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36395 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 15:54:42 +00:00
Chris Lattner
c9c448ffa2
add records for constant exprs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36393 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-24 07:03:08 +00:00
Chris Lattner
2c783e46c3
add codes for constants table
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 23:29:59 +00:00
Chris Lattner
73f3fd775f
Fix a bug in bitstream writer handling abbrevs, add value symtab
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36373 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 20:34:46 +00:00
Chris Lattner
8f122b1e7f
promote this to being a public header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-23 01:01:15 +00:00