summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprAgg.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* add support for codegening CXXZeroInitValueExprsNuno Lopes2009-10-181-0/+6
| | | | llvm-svn: 84418
* Suppress -Asserts warning.Daniel Dunbar2009-10-171-0/+1
| | | | llvm-svn: 84329
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-2/+1
| | | | llvm-svn: 83964
* Move the vtable builder to CGVtable.cpp, general cleanup.Anders Carlsson2009-10-111-1/+2
| | | | llvm-svn: 83798
* Pass the canonical method decl to GetVtableIndex. Fixes PR5120.Anders Carlsson2009-10-031-1/+1
| | | | llvm-svn: 83272
* Teach AggExprEmitter about pointers to member functions.Anders Carlsson2009-10-031-0/+33
| | | | llvm-svn: 83266
* Move some functions from CodeGenFunctions to CodeGenModule so they can be ↵Anders Carlsson2009-10-031-1/+1
| | | | | | used by CGExprConstant. llvm-svn: 83263
* Handle CK_BaseToDerivedMemberPointer for member function pointers. Fixes PR5091.Anders Carlsson2009-09-291-1/+34
| | | | llvm-svn: 83041
* Improve support for member function pointers.Anders Carlsson2009-09-291-0/+15
| | | | llvm-svn: 83039
* Use a switch statement in VisitCastExpr.Anders Carlsson2009-09-291-12/+16
| | | | llvm-svn: 83038
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-241-5/+6
| | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705
* If a cast expression needs either a conversion function or a constructor to ↵Anders Carlsson2009-09-091-10/+3
| | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-39/+39
| | | | llvm-svn: 81346
* Re-implemented generation of objc_memmove_collectableFariborz Jahanian2009-08-311-12/+17
| | | | | | API for copying GC'able aggregates (Next runtime only). llvm-svn: 80607
* Patch for code gen. for c-style cast which ends inFariborz Jahanian2009-08-291-2/+6
| | | | | | using class's conversion functions [12.3.2-p2] llvm-svn: 80433
* ir-gen for type convesion of class objects. WIP.Fariborz Jahanian2009-08-261-1/+6
| | | | llvm-svn: 80178
* Using "ObjCImplicitSetterGetterRefExpr" instead of ↵Fariborz Jahanian2009-08-201-3/+3
| | | | | | | | "ObjCImplctSetterGetterRefExpr". A field rename and more comments. llvm-svn: 79537
* Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr.Fariborz Jahanian2009-08-181-2/+3
| | | | | | | | Removed an unnecessary loop to get to setters incoming argument. Added DoxyGen comments. Still more work to do in this area (WIP). llvm-svn: 79365
* Add an IsInitializer flag to EmitAnyExpr. This is used to prevent ↵Anders Carlsson2009-08-161-8/+13
| | | | | | temporaries from being destroyed when they're bound to a reference variable. llvm-svn: 79179
* Update for LLVM API change.Owen Anderson2009-08-131-3/+5
| | | | llvm-svn: 78946
* Add CK_ToUnion and use it for aggregate expression codegen.Anders Carlsson2009-08-071-9/+8
| | | | llvm-svn: 78429
* Update for LLVM API change.Owen Anderson2009-07-311-1/+1
| | | | llvm-svn: 77722
* Canonicalize else spacing.Mike Stump2009-07-301-2/+1
| | | | llvm-svn: 77629
* Update for LLVM API change.Owen Anderson2009-07-291-2/+2
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | 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
* Update for LLVM API change.Owen Anderson2009-07-241-2/+2
| | | | llvm-svn: 77012
* Preserve address space information through member accesses, e.g., Mon P Wang2009-07-221-1/+2
| | | | | | | __attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1; ... = p1->arr[2]; // load from address space 1 llvm-svn: 76717
* Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methodsTed Kremenek2009-07-171-2/+2
| | | | | | | | | 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
* Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), ↵Ted Kremenek2009-07-171-2/+2
| | | | | | Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. llvm-svn: 76139
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-141-4/+4
| | | | llvm-svn: 75705
* Update for LLVM API change.Owen Anderson2009-07-131-1/+1
| | | | llvm-svn: 75446
* Implement code generation of ChooseExpr for aggregate types.Anders Carlsson2009-07-081-0/+5
| | | | llvm-svn: 75021
* Implemented memmove_collectable API for Next runtimeFariborz Jahanian2009-07-081-0/+12
| | | | | | | when struct variables with GC'able members are copied into. Will provide a test case later. llvm-svn: 74984
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-301-4/+4
| | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
* Use PushConditionalTempDestruction/PopConditionalTempDestruction for the ↵Anders Carlsson2009-06-041-0/+4
| | | | | | ternary operator. llvm-svn: 72842
* PR4316: Fix IRGen for cast-to-union extension.Eli Friedman2009-06-031-6/+6
| | | | llvm-svn: 72803
* Emit destructors correctly for temporaries.Anders Carlsson2009-05-311-1/+1
| | | | llvm-svn: 72655
* Add lvalue irgen support for CXXBindTemporaryExpr.Anders Carlsson2009-05-301-1/+0
| | | | llvm-svn: 72649
* More temporary support.Anders Carlsson2009-05-301-4/+25
| | | | llvm-svn: 72648
* Remove VarDecl from CXXConstructExpr.Anders Carlsson2009-05-301-11/+3
| | | | llvm-svn: 72633
* Fixup the rest of the trivial cases of the codegen of volatile. IfMike Stump2009-05-291-1/+2
| | | | | | | any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know. llvm-svn: 72572
* PR4281: Fix bogus CodeGen assertion. The issue is that Eli Friedman2009-05-281-8/+5
| | | | | | | getUnqualifiedType() doesn't strip off all qualifiers for non-canonical types. llvm-svn: 72552
* No write-barrier for initializations.Fariborz Jahanian2009-05-271-0/+2
| | | | llvm-svn: 72492
* IRgen support for calls to functions that return references to aggregate ↵Anders Carlsson2009-05-271-0/+5
| | | | | | exressions. llvm-svn: 72479
* Fix typo. I also fixed the hard to read case differences, so that noMike Stump2009-05-271-3/+3
| | | | | | one else is tempted to copy the style, incorrectly. llvm-svn: 72448
* Fixup codegen for volatile structs in the trivial cases (a a=a and a=a=a).Mike Stump2009-05-261-18/+21
| | | | llvm-svn: 72439
* Esnure that if we have a volatile structure as the destination, thatMike Stump2009-05-261-3/+6
| | | | | | we actually have a destination. llvm-svn: 72429
* Propagate volatile for implicit property refernces.Mike Stump2009-05-231-3/+2
| | | | llvm-svn: 72353
* Propagate volatile around for property references.Mike Stump2009-05-231-3/+2
| | | | llvm-svn: 72352
* Track volatile aggregate copies better. I'm hoping someone else will decideMike Stump2009-05-231-3/+6
| | | | | | how to get the backend to know that the operation is volatile. llvm-svn: 72348
OpenPOWER on IntegriCloud