| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Add a new variant of EmitCXXAggrConstructorCall that takes a Value that ↵ | Anders Carlsson | 2009-09-23 | 1 | -20/+26 | |
| | | | | | | | holds the number of elements to construct, to be used when implementing new[]. llvm-svn: 82602 | |||||
| * | Move codegen of new and delete to CGCXXExpr.cpp | Anders Carlsson | 2009-09-22 | 1 | -187/+0 | |
| | | | | | llvm-svn: 82585 | |||||
| * | Change all the Type::getAsFoo() methods to specializations of Type::getAs(). | John McCall | 2009-09-21 | 1 | -18/+18 | |
| | | | | | | | | | | | | 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 | |||||
| * | Generate more of the vbase virtual offset for covariant thunks. WIP. | Mike Stump | 2009-09-18 | 1 | -8/+72 | |
| | | | | | llvm-svn: 82253 | |||||
| * | Remove an unnecessary FunctionDecl parameter to the synthesizing functions. | Anders Carlsson | 2009-09-14 | 1 | -24/+24 | |
| | | | | | llvm-svn: 81759 | |||||
| * | Handle delete where the class has a virtual destructor. | Anders Carlsson | 2009-09-14 | 1 | -5/+8 | |
| | | | | | llvm-svn: 81733 | |||||
| * | Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a ↵ | Anders Carlsson | 2009-09-12 | 1 | -12/+20 | |
| | | | | | | | NullCheckValue argument (currently unused). llvm-svn: 81606 | |||||
| * | Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there. | Anders Carlsson | 2009-09-12 | 1 | -67/+0 | |
| | | | | | llvm-svn: 81604 | |||||
| * | Fix a crash when generating vtables that contain destructors. | Anders Carlsson | 2009-09-12 | 1 | -5/+4 | |
| | | | | | llvm-svn: 81587 | |||||
| * | Add basic covariant thunk generation support. WIP. | Mike Stump | 2009-09-11 | 1 | -4/+95 | |
| | | | | | llvm-svn: 81585 | |||||
| * | Pass GlobalDecls to GenerateCode and StartFunction. | Anders Carlsson | 2009-09-11 | 1 | -13/+18 | |
| | | | | | llvm-svn: 81485 | |||||
| * | GlobalDecl doesn't have an explicit constructor anymore. | Anders Carlsson | 2009-09-10 | 1 | -10/+8 | |
| | | | | | llvm-svn: 81481 | |||||
| * | Use the right GlobalDecl type for destructors. | Anders Carlsson | 2009-09-09 | 1 | -1/+7 | |
| | | | | | llvm-svn: 81398 | |||||
| * | If a cast expression needs either a conversion function or a constructor to ↵ | Anders Carlsson | 2009-09-09 | 1 | -22/+0 | |
| | | | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383 | |||||
| * | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -306/+306 | |
| | | | | | llvm-svn: 81346 | |||||
| * | Refine vcall offsets. Cleanups. WIP. | Mike Stump | 2009-09-07 | 1 | -24/+35 | |
| | | | | | llvm-svn: 81143 | |||||
| * | Refine overrides and thunks for virtual bases. Cleanups. WIP. | Mike Stump | 2009-09-05 | 1 | -25/+41 | |
| | | | | | llvm-svn: 81080 | |||||
| * | Cleanup. | Mike Stump | 2009-09-05 | 1 | -6/+7 | |
| | | | | | llvm-svn: 81078 | |||||
| * | Cleanups. | Mike Stump | 2009-09-05 | 1 | -5/+5 | |
| | | | | | llvm-svn: 81077 | |||||
| * | Cleanups. | Mike Stump | 2009-09-05 | 1 | -2/+0 | |
| | | | | | llvm-svn: 81075 | |||||
| * | Cleanups. | Mike Stump | 2009-09-05 | 1 | -21/+10 | |
| | | | | | llvm-svn: 81074 | |||||
| * | Cleanups. | Mike Stump | 2009-09-05 | 1 | -6/+3 | |
| | | | | | llvm-svn: 81073 | |||||
| * | Cleanups. | Mike Stump | 2009-09-05 | 1 | -5/+29 | |
| | | | | | llvm-svn: 81072 | |||||
| * | Cleanups. | Mike Stump | 2009-09-05 | 1 | -6/+5 | |
| | | | | | llvm-svn: 81071 | |||||
| * | Cleanups. WIP. | Mike Stump | 2009-09-05 | 1 | -50/+53 | |
| | | | | | llvm-svn: 81069 | |||||
| * | Install thunks later to fixup overrides. Track space taken by vbase | Mike Stump | 2009-09-05 | 1 | -39/+81 | |
| | | | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067 | |||||
| * | Don't generate any code for an explicit call to a trivial destructor. | Douglas Gregor | 2009-09-04 | 1 | -0/+8 | |
| | | | | | | | | | | | | Now that parsing, semantic analysis, and (I think) code generation of pseudo-destructor expressions and explicit destructor calls works, update the example-dynarray.cpp test to destroy the objects it allocates and update the test to actually compile + link. The code seems correct, but the Clang-compiled version dies with a malloc error. Time to debug! llvm-svn: 81025 | |||||
| * | Add overidding for methods for vtable building for the secondary | Mike Stump | 2009-09-04 | 1 | -13/+81 | |
| | | | | | | | vtables. Add thunk generation. WIP. llvm-svn: 81014 | |||||
| * | Fix an assertion when initializing a union using a member initializer. (We ↵ | Anders Carlsson | 2009-09-02 | 1 | -1/+2 | |
| | | | | | | | weren't casting from the union type to the initializer type correctly). llvm-svn: 80837 | |||||
| * | More overriding base work and some cleanups. WIP. | Mike Stump | 2009-09-01 | 1 | -18/+19 | |
| | | | | | llvm-svn: 80737 | |||||
| * | Split out overriding. WIP. | Mike Stump | 2009-09-01 | 1 | -6/+13 | |
| | | | | | llvm-svn: 80732 | |||||
| * | Assert that we don't have any virtual bases. We can emit dtors for ↵ | Anders Carlsson | 2009-09-01 | 1 | -2/+2 | |
| | | | | | | | polymorphics classes just fune. llvm-svn: 80722 | |||||
| * | We can generate constructors/destructors with base classes and non-trivial ↵ | Anders Carlsson | 2009-09-01 | 1 | -26/+2 | |
| | | | | | | | fields just fine now. llvm-svn: 80701 | |||||
| * | Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will | Douglas Gregor | 2009-08-31 | 1 | -2/+2 | |
| | | | | | | | | also be adding explicit template arguments as an additional "adornment". No functionality change. llvm-svn: 80628 | |||||
| * | Make IRGen for initializing a member reference work correctly. | Eli Friedman | 2009-08-29 | 1 | -3/+17 | |
| | | | | | llvm-svn: 80439 | |||||
| * | iGenerate vcalls as we build up the methods. WIP. | Mike Stump | 2009-08-28 | 1 | -100/+92 | |
| | | | | | llvm-svn: 80405 | |||||
| * | ir-gen related patch for type conversion | Fariborz Jahanian | 2009-08-28 | 1 | -11/+12 | |
| | | | | | | | with class type conversion methods. WIP. llvm-svn: 80365 | |||||
| * | Fixup codegen for static dispatch to a virtual function that was | Mike Stump | 2009-08-26 | 1 | -1/+1 | |
| | | | | | | | almost correct. :-) llvm-svn: 80181 | |||||
| * | ir-gen for type convesion of class objects. WIP. | Fariborz Jahanian | 2009-08-26 | 1 | -0/+21 | |
| | | | | | llvm-svn: 80178 | |||||
| * | When a member reference expression includes a qualifier on the member | Douglas Gregor | 2009-08-26 | 1 | -3/+5 | |
| | | | | | | | | | | | | | | | | | | name, e.g., x->Base::f() retain the qualifier (and its source range information) in a new subclass of MemberExpr called CXXQualifiedMemberExpr. Provide construction, transformation, profiling, printing, etc., for this new expression type. When a virtual function is called via a qualified name, don't emit a virtual call. Instead, call that function directly. Mike, could you add a CodeGen test for this, too? llvm-svn: 80167 | |||||
| * | Implement virtual dispatch. :-) This is self-consistent with clang, | Mike Stump | 2009-08-26 | 1 | -33/+90 | |
| | | | | | | | | but not yet necessarily perfectly consistent with gcc. Also addressed Doug and John's comments. llvm-svn: 80137 | |||||
| * | Revert r80064 since it broke the build. | Anders Carlsson | 2009-08-26 | 1 | -92/+26 | |
| | | | | | llvm-svn: 80066 | |||||
| * | Implement virtual dispatch. :-) This is self-consistent with clang, but ↵ | Mike Stump | 2009-08-26 | 1 | -26/+92 | |
| | | | | | | | | | not yet necessarily perfectly consistent with gcc. llvm-svn: 80064 | |||||
| * | Simplified default construction of array data members | Fariborz Jahanian | 2009-08-26 | 1 | -17/+5 | |
| | | | | | | | in the constructor prologue. llvm-svn: 80060 | |||||
| * | Add a -fno-elide-constructors option to clang-cc. | Anders Carlsson | 2009-08-22 | 1 | -1/+1 | |
| | | | | | llvm-svn: 79782 | |||||
| * | Calculate the address point for a vtable better, and start fleshing out the ↵ | Mike Stump | 2009-08-21 | 1 | -16/+48 | |
| | | | | | | | | | vcall calculations better. llvm-svn: 79687 | |||||
| * | Patch to ir-gen copy assigning array members when synthesizing | Fariborz Jahanian | 2009-08-21 | 1 | -7/+103 | |
| | | | | | | | a copy assignment operator function. llvm-svn: 79681 | |||||
| * | Patch to provide ir-gen support in copying array members | Fariborz Jahanian | 2009-08-21 | 1 | -10/+96 | |
| | | | | | | | | when synthesizing a copy constructor. Arrays's base element may have a trivial or non-trivial copy constructor. llvm-svn: 79653 | |||||
| * | Array member construction in prologue of user-declared | Fariborz Jahanian | 2009-08-21 | 1 | -6/+17 | |
| | | | | | | | constructors. llvm-svn: 79640 | |||||
| * | Introduce getConstantArrayElementCount API and use it in | Fariborz Jahanian | 2009-08-21 | 1 | -16/+6 | |
| | | | | | | | construction/destruction of array members. llvm-svn: 79637 | |||||

