- Sep 30, 2009
-
-
Mike Stump authored
scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. llvm-svn: 83138
-
- Sep 25, 2009
-
-
Mike Stump authored
llvm-svn: 82725
-
- Sep 22, 2009
-
-
Mike Stump authored
llvm-svn: 82508
-
John McCall authored
Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. llvm-svn: 82501
-
- Sep 19, 2009
-
-
Nick Lewycky authored
which will be going away (ie. it's becoming a required parameter) later today. llvm-svn: 82323
-
- Sep 12, 2009
-
-
Anders Carlsson authored
llvm-svn: 81602
-
Anders Carlsson authored
For __block variables, cache the LLVM types as well as which LLVM field where the variable is stored. llvm-svn: 81599
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81346
-
Mike Stump authored
llvm-svn: 81337
-
Anders Carlsson authored
llvm-svn: 81315
-
- Aug 24, 2009
-
-
Torok Edwin authored
llvm-svn: 79916
-
- Aug 21, 2009
-
-
Argyrios Kyrtzidis authored
Remove TypeSpecStartLocation from VarDecl/FunctionDecl/FieldDecl, and use DeclaratorInfo to get this information. llvm-svn: 79584
-
- Aug 19, 2009
-
-
Argyrios Kyrtzidis authored
DeclaratorDecl contains a DeclaratorInfo* to keep type source info. Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl. EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo. Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet. llvm-svn: 79392
-
- Aug 13, 2009
-
-
Owen Anderson authored
llvm-svn: 78946
-
- Aug 06, 2009
-
-
Owen Anderson authored
llvm-svn: 78259
-
- Jul 31, 2009
-
-
Owen Anderson authored
llvm-svn: 77722
-
Mike Stump authored
llvm-svn: 77688
-
Mike Stump authored
llvm-svn: 77629
-
- Jul 30, 2009
-
-
Owen Anderson authored
llvm-svn: 77514
-
- Jul 29, 2009
-
-
Ted Kremenek authored
Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. llvm-svn: 77510
-
Owen Anderson authored
llvm-svn: 77492
-
- Jul 28, 2009
-
-
Owen Anderson authored
llvm-svn: 77267
-
- Jul 25, 2009
-
-
Owen Anderson authored
llvm-svn: 77012
-
- Jul 17, 2009
-
-
Ted Kremenek authored
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
-
- Jul 16, 2009
-
-
Ted Kremenek authored
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
-
- Jul 15, 2009
-
-
Owen Anderson authored
llvm-svn: 75705
-
- Jul 13, 2009
-
-
Owen Anderson authored
llvm-svn: 75446
-
- Jul 08, 2009
-
-
Owen Anderson authored
llvm-svn: 75028
-
Owen Anderson authored
llvm-svn: 74986
-
- Jun 06, 2009
-
-
Mike Stump authored
___Block_byref_id_object_dispose and ___Block_byref_id_object_copy functions so that we can simply reuse instead of creating a new one. Additionally, add an assert to ensure no one yet tries to align a __block variable beyond the alignment of a pointer as the codegen is incomplete. llvm-svn: 72974
-
- May 16, 2009
-
-
Mike Stump authored
llvm-svn: 71937
-
- May 13, 2009
-
-
rdar://6880259Chris Lattner authored
by using the appropriate CGM interface instead of directly creating a global. llvm-svn: 71617
-
- May 01, 2009
-
-
Mike Stump authored
Radar 6838889 llvm-svn: 70525
-
- Apr 23, 2009
-
-
Chris Lattner authored
llvm-svn: 69875
-
Chris Lattner authored
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
-
- Apr 17, 2009
-
-
Daniel Dunbar authored
- <rdar://problem/6800351> clang not producing correct large struct return code for Blocks llvm-svn: 69337
-
- Apr 16, 2009
-
-
Mike Stump authored
llvm-svn: 69232
-
- Apr 15, 2009
-
-
Devang Patel authored
llvm-svn: 69228
-
- Apr 14, 2009
-
-
Daniel Dunbar authored
- Exposed quite a few Sema issues and a CodeGen crash. - See FIXMEs in test case, and in SemaDecl.cpp (PR3983). I'm skeptical that __private_extern__ should actually be a storage class value. I think that __private_extern__ basically amounts to extern A __attribute__((visibility("hidden"))) and would be better off handled (a) as that, or (b) with an extra bit in the VarDecl. llvm-svn: 69020
-
- Apr 11, 2009
-
-
Fariborz Jahanian authored
llvm-svn: 68870
-