| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
As per Fariborz's suggestion, committed now but can be reverted later if the used flag is problematic for Apple.
llvm-svn: 89134
|
|
|
|
| |
llvm-svn: 84823
|
|
|
|
|
|
| |
the copy/dispose helpers as appropriate.
llvm-svn: 84817
|
|
|
|
| |
llvm-svn: 84789
|
|
|
|
| |
llvm-svn: 84787
|
|
|
|
| |
llvm-svn: 84770
|
|
|
|
| |
llvm-svn: 84769
|
|
|
|
|
|
|
| |
generate the debug information for the first parameter to the block
invoke functions. WIP.
llvm-svn: 84737
|
|
|
|
|
|
| |
it was. Fixes codegen bug introduced yesterday.
llvm-svn: 84668
|
|
|
|
|
|
|
| |
WIP. I have yet to find the magic incantation to get the structure
type to be defined. If someone has a pointer, love to hear it.
llvm-svn: 84590
|
|
|
|
| |
llvm-svn: 83964
|
|
|
|
| |
llvm-svn: 83221
|
|
|
|
|
|
| |
BlockDeclRefDecls.
llvm-svn: 83185
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 82725
|
|
|
|
| |
llvm-svn: 82508
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
which will be going away (ie. it's becoming a required parameter) later today.
llvm-svn: 82323
|
|
|
|
| |
llvm-svn: 81602
|
|
|
|
|
|
| |
where the variable is stored.
llvm-svn: 81599
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
| |
llvm-svn: 81337
|
|
|
|
| |
llvm-svn: 81315
|
|
|
|
| |
llvm-svn: 79916
|
|
|
|
|
|
| |
DeclaratorInfo to get this information.
llvm-svn: 79584
|
|
|
|
|
|
|
|
|
|
|
|
| |
interfaces.
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
|
|
|
|
| |
llvm-svn: 78946
|
|
|
|
| |
llvm-svn: 78259
|
|
|
|
| |
llvm-svn: 77722
|
|
|
|
| |
llvm-svn: 77688
|
|
|
|
| |
llvm-svn: 77629
|
|
|
|
| |
llvm-svn: 77514
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 77492
|
|
|
|
| |
llvm-svn: 77267
|
|
|
|
| |
llvm-svn: 77012
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75705
|
|
|
|
| |
llvm-svn: 75446
|
|
|
|
| |
llvm-svn: 75028
|
|
|
|
| |
llvm-svn: 74986
|
|
|
|
|
|
|
|
|
|
| |
___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
|
|
|
|
| |
llvm-svn: 71937
|
|
|
|
|
|
|
|
| |
(__NSConcreteGlobalBlock2)
by using the appropriate CGM interface instead of directly creating a global.
llvm-svn: 71617
|
|
|
|
|
|
| |
Radar 6838889
llvm-svn: 70525
|
|
|
|
| |
llvm-svn: 69875
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
- <rdar://problem/6800351> clang not producing correct large struct
return code for Blocks
llvm-svn: 69337
|
|
|
|
| |
llvm-svn: 69232
|