#
8a923e7c |
| 12-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Reimplement the parameter attributes support, phase #1. hilights:
1. There is now a "PAListPtr" class, which is a smart pointer around the underlying uniqued parameter attribute list object, and
Reimplement the parameter attributes support, phase #1. hilights:
1. There is now a "PAListPtr" class, which is a smart pointer around the underlying uniqued parameter attribute list object, and manages its refcount. It is now impossible to mess up the refcount. 2. PAListPtr is now the main interface to the underlying object, and the underlying object is now completely opaque. 3. Implementation details like SmallVector and FoldingSet are now no longer part of the interface. 4. You can create a PAListPtr with an arbitrary sequence of ParamAttrsWithIndex's, no need to make a SmallVector of a specific size (you can just use an array or scalar or vector if you wish). 5. All the client code that had to check for a null pointer before dereferencing the pointer is simplified to just access the PAListPtr directly. 6. The interfaces for adding attrs to a list and removing them is a bit simpler.
Phase #2 will rename some stuff (e.g. PAListPtr) and do other less invasive changes.
llvm-svn: 48289
show more ...
|
#
e7b19035 |
| 12-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
when the bitcode reader is referencing a paramattr, make sure to bump its refcount.
llvm-svn: 48276
|
#
2f22e3f6 |
| 12-Mar-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Be backward compatible
llvm-svn: 48268
|
#
db691cbd |
| 11-Mar-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Honour aliases visibility when reading from/writing to bitcode
llvm-svn: 48248
|
#
3cc9be0b |
| 02-Mar-2008 |
Nick Lewycky <nicholas@mxc.ca> |
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.
llvm-svn: 47802
|
#
a736c001 |
| 26-Feb-2008 |
Devang Patel <dpatel@apple.com> |
Use SmallVector while constructing ReturnInst.
llvm-svn: 47619
|
#
bbfd874c |
| 26-Feb-2008 |
Devang Patel <dpatel@apple.com> |
Update bitcode reader and writer to handle multiple return values. Take 2.
llvm-svn: 47583
|
#
2f18c397 |
| 23-Feb-2008 |
Evan Cheng <evan.cheng@apple.com> |
Backing out r47521 for now. This has broken a number of tests.
llvm-svn: 47533
|
#
6a49782d |
| 23-Feb-2008 |
Devang Patel <dpatel@apple.com> |
Properly read and write bitcodes for multiple return values.
llvm-svn: 47521
|
#
09f410b6 |
| 22-Feb-2008 |
Dale Johannesen <dalej@apple.com> |
Split ParameterAttributes.h, putting the complicated stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes.
llvm-svn: 47504
|
#
49cfe701 |
| 22-Feb-2008 |
Devang Patel <dpatel@apple.com> |
Read and write getresult.
llvm-svn: 47471
|
Revision tags: llvmorg-2.2.0 |
|
#
70de4cb1 |
| 29-Jan-2008 |
Dan Gohman <gohman@apple.com> |
Use empty() instead of comparing size() with zero.
llvm-svn: 46514
|
#
f3ebc3f3 |
| 29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
|
#
0e179d01 |
| 17-Dec-2007 |
Evan Cheng <evan.cheng@apple.com> |
Bring back int_x86_sse2_movl_dq intrinsic for backward compatibility. Make sure it's auto-upgraded to a shufflevector instruction.
llvm-svn: 45131
|
#
edf07887 |
| 17-Dec-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new p
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
llvm-svn: 45082
show more ...
|
#
54dd24c2 |
| 11-Dec-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
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
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.
llvm-svn: 44858
show more ...
|
#
71183b67 |
| 10-Dec-2007 |
Gordon Henriksen <gordonhenriksen@mac.com> |
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::st
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.
llvm-svn: 44769
show more ...
|
#
1dfc48d4 |
| 27-Nov-2007 |
Chris Lattner <sabre@nondot.org> |
Unbreak backwards compatibility with bytecode format. Regression introduced by this patch: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071126/055824.html
llvm-svn: 44364
|
#
ad0ea2d4 |
| 27-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Fix PR1146: parameter attributes are longer part of the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's origin
Fix PR1146: parameter attributes are longer part of the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
show more ...
|
#
04eb67e6 |
| 20-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
In order for parameter attribute uniquing to make any sense it is important that ParamAttr::None gets treated the same as not supplying an attribute at all. Rather than stripping ParamAttr::None out
In order for parameter attribute uniquing to make any sense it is important that ParamAttr::None gets treated the same as not supplying an attribute at all. Rather than stripping ParamAttr::None out of the list of attributes, assert if ParamAttr::None is seen. Fix up the bitcode reader which liked to insert ParamAttr::None all over the place. Patch based on one by Török Edwin.
llvm-svn: 44250
show more ...
|
#
d3208100 |
| 19-Nov-2007 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords.
llvm-svn: 44234
|
#
4646aa3e |
| 05-Nov-2007 |
Dale Johannesen <dalej@apple.com> |
Make labels work in asm blocks; allow labels as parameters. Rename ValueRefList to ParamList in AsmParser, since its only use is for parameters.
llvm-svn: 43734
|
#
007aa378 |
| 11-Oct-2007 |
Dale Johannesen <dalej@apple.com> |
Next PPC long double bits. First cut at constants. No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles i
Next PPC long double bits. First cut at constants. No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize.
llvm-svn: 42865
show more ...
|
Revision tags: llvmorg-2.1.0 |
|
#
028084ef |
| 12-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Revise previous patch per review comments. Next round of x87 long double stuff. Getting close now, basically works.
llvm-svn: 41875
|
#
245dceb0 |
| 11-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Add APInt interfaces to APFloat (allows directly access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, pro
Add APInt interfaces to APFloat (allows directly access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work).
llvm-svn: 41858
show more ...
|