#
8a286fbd |
| 17-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::ge
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger.
llvm-svn: 76193
show more ...
|
#
b825c0dd |
| 17-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
llvm-svn: 76139
show more ...
|
#
e3fb4b65 |
| 16-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. This method is intended to eventually replace the individual Type::getAsXXXType<> methods.
The motivation behind this
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. This method is intended to eventually replace the individual Type::getAsXXXType<> methods.
The motivation behind this change is twofold:
1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of them are basically copy-and-paste.
2) By centralizing the implementation of the getAs<Type> logic we can more smoothly move over to Doug Gregor's proposed canonical type smart pointer scheme.
Along with this patch:
a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>. b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>.
llvm-svn: 76098
show more ...
|
#
170229f6 |
| 14-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change, and contextify a bunch of related stuff.
llvm-svn: 75705
|
#
ae86c19e |
| 13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change.
llvm-svn: 75446
|
#
c9673d5b |
| 08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for IRBuilder API change.
llvm-svn: 75041
|
#
ddcd132a |
| 30-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove the ASTContext parameter from the getBody() methods of Decl and subclasses.
Timings showed no significant difference before and after the commit.
llvm-svn: 74504
|
#
b4b64ca7 |
| 30-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove the ASTContext parameter from the attribute-related methods of Decl. The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of fil
Remove the ASTContext parameter from the attribute-related methods of Decl. The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
llvm-svn: 74501
show more ...
|
#
78bd61f6 |
| 18-Jun-2009 |
Douglas Gregor <dgregor@apple.com> |
Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.
llvm-svn: 73702
|
#
f3f91cee |
| 31-May-2009 |
Anders Carlsson <andersca@mac.com> |
When possible, don't emit the cleanup block. Instead, just move the instructions to the current block.
llvm-svn: 72654
|
#
9444638e |
| 29-May-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Re-add a slightly more general version of the check from r72578; it is actually necessary in some obscure cases.
llvm-svn: 72585
|
#
a6788749 |
| 29-May-2009 |
Mike Stump <mrs@apple.com> |
Oops, the testcase I was thinking of is supposed to error out. I tried other things that might trip, but they all worked.
llvm-svn: 72584
|
#
7f12d51a |
| 29-May-2009 |
Mike Stump <mrs@apple.com> |
Fixup codegen for composition of vla types using a normal array type.
llvm-svn: 72578
|
#
18bb9284 |
| 16-May-2009 |
Mike Stump <mrs@apple.com> |
Reflow some comments.
llvm-svn: 71937
|
#
a7b98a77 |
| 26-Apr-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Implement function-try-blocks. However, there's a very subtle bug that I can't track down.
llvm-svn: 70155
|
#
28ec0cf8 |
| 23-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
the logic for computing __func__ and friends is really broken: the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We s
the logic for computing __func__ and friends is really broken: the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's.
llvm-svn: 69872
show more ...
|
#
b534f6a6 |
| 21-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
don't bother emitting a zero byte memset at all. We used to get them in cases like this:
typedef struct { short instance; char name[0]; } ATTR_LIST_ENTRY2;
void test() { ATTR_LIST_ENTRY2 X =
don't bother emitting a zero byte memset at all. We used to get them in cases like this:
typedef struct { short instance; char name[0]; } ATTR_LIST_ENTRY2;
void test() { ATTR_LIST_ENTRY2 X = (ATTR_LIST_ENTRY2) { .instance = 7, }; }
While it is safe to emit them, it is pretty silly.
llvm-svn: 69687
show more ...
|
#
e3dcb2dd |
| 18-Apr-2009 |
Douglas Gregor <dgregor@apple.com> |
FunctionDecl::getBody() is getting an ASTContext argument for use in lazy PCH deserialization. Propagate that argument wherever it needs to be. No functionality change, except that I've tightened up
FunctionDecl::getBody() is getting an ASTContext argument for use in lazy PCH deserialization. Propagate that argument wherever it needs to be. No functionality change, except that I've tightened up a few PCH tests in preparation.
llvm-svn: 69406
show more ...
|
#
c483bd07 |
| 15-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify CodeGenFunction::GenerateCode.
llvm-svn: 69134
|
#
4184ac84 |
| 13-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update to use hasAttr() instead of getAttr(). - No functionality change.
llvm-svn: 68987
|
#
5286e774 |
| 10-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
reject codegen of __thread variables as unimplemented, rdar://6775265
llvm-svn: 68755
|
#
468fa636 |
| 04-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Add some basic support for generating C++ member functions.
llvm-svn: 68425
|
#
2739d2bb |
| 31-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
remove some obsolete comments, use an AssertingVH.
llvm-svn: 68151
|
#
09a9b6e3 |
| 28-Mar-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Move where block-related variables are initialized so that block types don't get generated when blocks aren't used.
llvm-svn: 67898
|
#
47640221 |
| 22-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
fix CreateTempAlloca to not set a name on the alloca for temporaries in release-assert builds. For automatic variables, explicitly set a name with setName that does not make a temporary std::string.
fix CreateTempAlloca to not set a name on the alloca for temporaries in release-assert builds. For automatic variables, explicitly set a name with setName that does not make a temporary std::string.
This speeds up -emit-llvm-only -disable-free on PR3810 by 4.6%
llvm-svn: 67459
show more ...
|