Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | add support for codegening CXXZeroInitValueExprs | Nuno Lopes | 2009-10-18 | 1 | -0/+6 | |
| | | | | llvm-svn: 84418 | |||||
* | Suppress -Asserts warning. | Daniel Dunbar | 2009-10-17 | 1 | -0/+1 | |
| | | | | llvm-svn: 84329 | |||||
* | Simplify pointer creation with the new Type::getInt*Ptr methods. | Benjamin Kramer | 2009-10-13 | 1 | -2/+1 | |
| | | | | llvm-svn: 83964 | |||||
* | Move the vtable builder to CGVtable.cpp, general cleanup. | Anders Carlsson | 2009-10-11 | 1 | -1/+2 | |
| | | | | llvm-svn: 83798 | |||||
* | Pass the canonical method decl to GetVtableIndex. Fixes PR5120. | Anders Carlsson | 2009-10-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 83272 | |||||
* | Teach AggExprEmitter about pointers to member functions. | Anders Carlsson | 2009-10-03 | 1 | -0/+33 | |
| | | | | llvm-svn: 83266 | |||||
* | Move some functions from CodeGenFunctions to CodeGenModule so they can be ↵ | Anders Carlsson | 2009-10-03 | 1 | -1/+1 | |
| | | | | | | used by CGExprConstant. llvm-svn: 83263 | |||||
* | Handle CK_BaseToDerivedMemberPointer for member function pointers. Fixes PR5091. | Anders Carlsson | 2009-09-29 | 1 | -1/+34 | |
| | | | | llvm-svn: 83041 | |||||
* | Improve support for member function pointers. | Anders Carlsson | 2009-09-29 | 1 | -0/+15 | |
| | | | | llvm-svn: 83039 | |||||
* | Use a switch statement in VisitCastExpr. | Anders Carlsson | 2009-09-29 | 1 | -12/+16 | |
| | | | | llvm-svn: 83038 | |||||
* | Refactor the representation of qualifiers to bring ExtQualType out of the | John McCall | 2009-09-24 | 1 | -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 Carlsson | 2009-09-09 | 1 | -10/+3 | |
| | | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383 | |||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -39/+39 | |
| | | | | llvm-svn: 81346 | |||||
* | Re-implemented generation of objc_memmove_collectable | Fariborz Jahanian | 2009-08-31 | 1 | -12/+17 | |
| | | | | | | API for copying GC'able aggregates (Next runtime only). llvm-svn: 80607 | |||||
* | Patch for code gen. for c-style cast which ends in | Fariborz Jahanian | 2009-08-29 | 1 | -2/+6 | |
| | | | | | | using class's conversion functions [12.3.2-p2] llvm-svn: 80433 | |||||
* | ir-gen for type convesion of class objects. WIP. | Fariborz Jahanian | 2009-08-26 | 1 | -1/+6 | |
| | | | | llvm-svn: 80178 | |||||
* | Using "ObjCImplicitSetterGetterRefExpr" instead of ↵ | Fariborz Jahanian | 2009-08-20 | 1 | -3/+3 | |
| | | | | | | | | "ObjCImplctSetterGetterRefExpr". A field rename and more comments. llvm-svn: 79537 | |||||
* | Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr. | Fariborz Jahanian | 2009-08-18 | 1 | -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 Carlsson | 2009-08-16 | 1 | -8/+13 | |
| | | | | | | temporaries from being destroyed when they're bound to a reference variable. llvm-svn: 79179 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -3/+5 | |
| | | | | llvm-svn: 78946 | |||||
* | Add CK_ToUnion and use it for aggregate expression codegen. | Anders Carlsson | 2009-08-07 | 1 | -9/+8 | |
| | | | | llvm-svn: 78429 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 77722 | |||||
* | Canonicalize else spacing. | Mike Stump | 2009-07-30 | 1 | -2/+1 | |
| | | | | llvm-svn: 77629 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 77514 | |||||
* | Change uses of: | Ted Kremenek | 2009-07-29 | 1 | -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 Anderson | 2009-07-24 | 1 | -2/+2 | |
| | | | | llvm-svn: 77012 | |||||
* | Preserve address space information through member accesses, e.g., | Mon P Wang | 2009-07-22 | 1 | -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() methods | Ted Kremenek | 2009-07-17 | 1 | -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 Kremenek | 2009-07-17 | 1 | -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 Anderson | 2009-07-14 | 1 | -4/+4 | |
| | | | | llvm-svn: 75705 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 75446 | |||||
* | Implement code generation of ChooseExpr for aggregate types. | Anders Carlsson | 2009-07-08 | 1 | -0/+5 | |
| | | | | llvm-svn: 75021 | |||||
* | Implemented memmove_collectable API for Next runtime | Fariborz Jahanian | 2009-07-08 | 1 | -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 Kyrtzidis | 2009-06-30 | 1 | -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 Carlsson | 2009-06-04 | 1 | -0/+4 | |
| | | | | | | ternary operator. llvm-svn: 72842 | |||||
* | PR4316: Fix IRGen for cast-to-union extension. | Eli Friedman | 2009-06-03 | 1 | -6/+6 | |
| | | | | llvm-svn: 72803 | |||||
* | Emit destructors correctly for temporaries. | Anders Carlsson | 2009-05-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 72655 | |||||
* | Add lvalue irgen support for CXXBindTemporaryExpr. | Anders Carlsson | 2009-05-30 | 1 | -1/+0 | |
| | | | | llvm-svn: 72649 | |||||
* | More temporary support. | Anders Carlsson | 2009-05-30 | 1 | -4/+25 | |
| | | | | llvm-svn: 72648 | |||||
* | Remove VarDecl from CXXConstructExpr. | Anders Carlsson | 2009-05-30 | 1 | -11/+3 | |
| | | | | llvm-svn: 72633 | |||||
* | Fixup the rest of the trivial cases of the codegen of volatile. If | Mike Stump | 2009-05-29 | 1 | -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 Friedman | 2009-05-28 | 1 | -8/+5 | |
| | | | | | | | getUnqualifiedType() doesn't strip off all qualifiers for non-canonical types. llvm-svn: 72552 | |||||
* | No write-barrier for initializations. | Fariborz Jahanian | 2009-05-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 72492 | |||||
* | IRgen support for calls to functions that return references to aggregate ↵ | Anders Carlsson | 2009-05-27 | 1 | -0/+5 | |
| | | | | | | exressions. llvm-svn: 72479 | |||||
* | Fix typo. I also fixed the hard to read case differences, so that no | Mike Stump | 2009-05-27 | 1 | -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 Stump | 2009-05-26 | 1 | -18/+21 | |
| | | | | llvm-svn: 72439 | |||||
* | Esnure that if we have a volatile structure as the destination, that | Mike Stump | 2009-05-26 | 1 | -3/+6 | |
| | | | | | | we actually have a destination. llvm-svn: 72429 | |||||
* | Propagate volatile for implicit property refernces. | Mike Stump | 2009-05-23 | 1 | -3/+2 | |
| | | | | llvm-svn: 72353 | |||||
* | Propagate volatile around for property references. | Mike Stump | 2009-05-23 | 1 | -3/+2 | |
| | | | | llvm-svn: 72352 | |||||
* | Track volatile aggregate copies better. I'm hoping someone else will decide | Mike Stump | 2009-05-23 | 1 | -3/+6 | |
| | | | | | | how to get the backend to know that the operation is volatile. llvm-svn: 72348 |