Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | And now we can generate a simple vtable. Still a work in progress... | Mike Stump | 2009-07-31 | 1 | -11/+23 | |
| | | | | llvm-svn: 77737 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-31 | 1 | -4/+4 | |
| | | | | llvm-svn: 77722 | |||||
* | Add code to setup the vtable pointer in the constructor. Work in progress. | Mike Stump | 2009-07-31 | 1 | -6/+51 | |
| | | | | llvm-svn: 77699 | |||||
* | Update for LLVM API changes. | Owen Anderson | 2009-07-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 77638 | |||||
* | Canonicalize else spacing. | Mike Stump | 2009-07-30 | 1 | -4/+2 | |
| | | | | llvm-svn: 77629 | |||||
* | Note some other limitations. | Mike Stump | 2009-07-30 | 1 | -1/+9 | |
| | | | | llvm-svn: 77626 | |||||
* | Patch for future ir-gen for destructor calls. | Fariborz Jahanian | 2009-07-30 | 1 | -1/+41 | |
| | | | | llvm-svn: 77608 | |||||
* | ir-gen for nested non-virtual base member access | Fariborz Jahanian | 2009-07-30 | 1 | -5/+47 | |
| | | | | | | in current class. llvm-svn: 77554 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-29 | 1 | -3/+3 | |
| | | | | llvm-svn: 77514 | |||||
* | Change uses of: | Ted Kremenek | 2009-07-29 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | | | | | | | 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 | |||||
* | Use the existing API for base offset. Use suitable llvm type | Fariborz Jahanian | 2009-07-29 | 1 | -20/+4 | |
| | | | | | | for offset ir-gen. llvm-svn: 77458 | |||||
* | More cleanup of data member access and then some. | Fariborz Jahanian | 2009-07-28 | 1 | -2/+9 | |
| | | | | llvm-svn: 77351 | |||||
* | Some code cleanup. | Fariborz Jahanian | 2009-07-28 | 1 | -24/+9 | |
| | | | | llvm-svn: 77339 | |||||
* | More work toward data member access ir-gen. | Fariborz Jahanian | 2009-07-28 | 1 | -0/+36 | |
| | | | | llvm-svn: 77332 | |||||
* | ir-gen for non-virtual base class initialization | Fariborz Jahanian | 2009-07-25 | 1 | -3/+31 | |
| | | | | | | in constructors. llvm-svn: 77087 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-24 | 1 | -2/+2 | |
| | | | | llvm-svn: 77012 | |||||
* | More work toward initialization of objects | Fariborz Jahanian | 2009-07-24 | 1 | -3/+12 | |
| | | | | | | in constructors. llvm-svn: 76980 | |||||
* | Move EmitCtorPrologue to CGCXX. Add an assert and FIXMEs. | Fariborz Jahanian | 2009-07-20 | 1 | -0/+33 | |
| | | | | llvm-svn: 76498 | |||||
* | Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods | Ted Kremenek | 2009-07-17 | 1 | -1/+1 | |
| | | | | | | | | | 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 | -1/+1 | |
| | | | | | | 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 | -8/+8 | |
| | | | | llvm-svn: 75705 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-13 | 1 | -4/+4 | |
| | | | | llvm-svn: 75446 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-08 | 1 | -5/+2 | |
| | | | | llvm-svn: 75028 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-07-08 | 1 | -1/+3 | |
| | | | | llvm-svn: 74986 | |||||
* | De-ASTContext-ify DeclContext. | Argyrios Kyrtzidis | 2009-06-30 | 1 | -2/+2 | |
| | | | | | | | 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 | |||||
* | Move code generation of C++ temporaries into a new file. | Anders Carlsson | 2009-06-03 | 1 | -37/+0 | |
| | | | | llvm-svn: 72792 | |||||
* | Fix a thinko. | Anders Carlsson | 2009-06-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 72679 | |||||
* | Check for null correctly for new expressions. | Anders Carlsson | 2009-06-01 | 1 | -4/+32 | |
| | | | | llvm-svn: 72678 | |||||
* | Improve irgen of 'new' further. | Anders Carlsson | 2009-05-31 | 1 | -8/+24 | |
| | | | | llvm-svn: 72677 | |||||
* | ...and aggregate POD types. | Anders Carlsson | 2009-05-31 | 1 | -4/+2 | |
| | | | | llvm-svn: 72676 | |||||
* | Support for complex types. | Anders Carlsson | 2009-05-31 | 1 | -2/+4 | |
| | | | | llvm-svn: 72675 | |||||
* | Better support for scalar POD types in 'new' expressions. | Anders Carlsson | 2009-05-31 | 1 | -11/+20 | |
| | | | | llvm-svn: 72674 | |||||
* | Very basic irgen support for new expressions. | Anders Carlsson | 2009-05-31 | 1 | -2/+72 | |
| | | | | llvm-svn: 72672 | |||||
* | Add a new function for emitting new functions. | Anders Carlsson | 2009-05-31 | 1 | -0/+5 | |
| | | | | llvm-svn: 72656 | |||||
* | Emit destructors correctly for temporaries. | Anders Carlsson | 2009-05-31 | 1 | -1/+27 | |
| | | | | llvm-svn: 72655 | |||||
* | More temporary support. | Anders Carlsson | 2009-05-30 | 1 | -0/+11 | |
| | | | | llvm-svn: 72648 | |||||
* | Add code for emitting C++ destructors. Not used yet. | Anders Carlsson | 2009-05-29 | 1 | -0/+8 | |
| | | | | llvm-svn: 72591 | |||||
* | Handle operator call expressions where the callee is a member function. | Anders Carlsson | 2009-05-27 | 1 | -0/+19 | |
| | | | | llvm-svn: 72458 | |||||
* | Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵ | Anders Carlsson | 2009-05-20 | 1 | -1/+0 | |
| | | | | | | support anything but at least we don't crash ;) llvm-svn: 72147 | |||||
* | Reflow some comments. | Mike Stump | 2009-05-16 | 1 | -0/+2 | |
| | | | | llvm-svn: 71937 | |||||
* | push GlobalDecl through enough of the CodeGenModule interfaces | Chris Lattner | 2009-05-12 | 1 | -4/+5 | |
| | | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594 | |||||
* | Factor code that's common to EmitCXXMemberCallExpr and ↵ | Anders Carlsson | 2009-05-11 | 1 | -27/+34 | |
| | | | | | | EmitCXXConstructorCall out into a EmitCXXMemberCall function. llvm-svn: 71514 | |||||
* | Refactor global decls to hold either a regular Decl or a CXXConstructorDecl ↵ | Anders Carlsson | 2009-05-05 | 1 | -2/+2 | |
| | | | | | | + ctor type or a CXXDestructorDecl + dtor type. llvm-svn: 70962 | |||||
* | Make codegen for constructors work again. | Anders Carlsson | 2009-05-03 | 1 | -14/+2 | |
| | | | | llvm-svn: 70785 | |||||
* | We can now call member functions where the base is a pointer. | Anders Carlsson | 2009-05-01 | 1 | -4/+1 | |
| | | | | llvm-svn: 70579 | |||||
* | Add support for generating (very basic) C++ destructors. These aren't called ↵ | Anders Carlsson | 2009-04-17 | 1 | -26/+65 | |
| | | | | | | by anything yet. llvm-svn: 69343 | |||||
* | Implement basic code generation of constructor calls. We can now compile: | Anders Carlsson | 2009-04-17 | 1 | -0/+45 | |
| | | | | | | | | | | | | struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330 | |||||
* | Add GetAddrOfCXXConstructor and use it. | Anders Carlsson | 2009-04-16 | 1 | -5/+11 | |
| | | | | llvm-svn: 69328 | |||||
* | Actually generate code for the simple constructors we know we can generate ↵ | Anders Carlsson | 2009-04-15 | 1 | -1/+22 | |
| | | | | | | code for. llvm-svn: 69222 | |||||
* | Start attempting to generate code for C++ ctors. | Anders Carlsson | 2009-04-15 | 1 | -1/+32 | |
| | | | | llvm-svn: 69168 |