Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | We now support overriding base functions in vtables. WIP. | Mike Stump | 2009-08-21 | 1 | -17/+69 | |
| | | | | llvm-svn: 79587 | |||||
* | Patch to ir-gen destruction of array member elements in revers order | Fariborz Jahanian | 2009-08-20 | 1 | -0/+60 | |
| | | | | | | of their construction. llvm-svn: 79571 | |||||
* | ir-gen patch to destruct array members. WIP. | Fariborz Jahanian | 2009-08-20 | 1 | -13/+40 | |
| | | | | llvm-svn: 79565 | |||||
* | Refine vbase offsets for the inductive case. Things are now starting | Mike Stump | 2009-08-20 | 1 | -7/+7 | |
| | | | | | | to come together nicely. Still a WIP. llvm-svn: 79521 | |||||
* | Ensure we don't output repeated vbase offsets. I have a testcase for | Mike Stump | 2009-08-20 | 1 | -22/+23 | |
| | | | | | | | this, but need to fixup the actual offset value before I can check it in. WIP. llvm-svn: 79506 | |||||
* | Test case for my last patch plus a minor clean up. | Fariborz Jahanian | 2009-08-20 | 1 | -4/+2 | |
| | | | | llvm-svn: 79500 | |||||
* | ir-gen for multi-dimensional array construction. WIP. | Fariborz Jahanian | 2009-08-20 | 1 | -6/+18 | |
| | | | | llvm-svn: 79497 | |||||
* | Removed unneeded code for break/continue statements in | Fariborz Jahanian | 2009-08-19 | 1 | -7/+0 | |
| | | | | | | | | manufactured for-loop per Anders feedback (thanks). - Fariborz llvm-svn: 79466 | |||||
* | ir-gen for constructing arrays as non-static data members. WIP. | Fariborz Jahanian | 2009-08-19 | 1 | -1/+95 | |
| | | | | llvm-svn: 79464 | |||||
* | Switch to SmallString::str from SmallString::c_str. | Daniel Dunbar | 2009-08-19 | 1 | -5/+3 | |
| | | | | | | - Several FIXMEs due to non-Twinification of IRBuilder. llvm-svn: 79455 | |||||
* | One second thought, I think I want to limit this class to just vtable | Mike Stump | 2009-08-19 | 1 | -5/+5 | |
| | | | | | | building activities. llvm-svn: 79438 | |||||
* | Cleanup: fold IndirectPrimary into builder. | Mike Stump | 2009-08-19 | 1 | -12/+9 | |
| | | | | llvm-svn: 79423 | |||||
* | We don't want to confuse this layout with the BLayout from the builder. | Mike Stump | 2009-08-19 | 1 | -3/+3 | |
| | | | | llvm-svn: 79422 | |||||
* | Restore vbase offsets for classes without a primary. | Mike Stump | 2009-08-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 79402 | |||||
* | Refine vcalls a little. | Mike Stump | 2009-08-19 | 1 | -20/+32 | |
| | | | | llvm-svn: 79400 | |||||
* | Cleanup. | Mike Stump | 2009-08-18 | 1 | -4/+4 | |
| | | | | llvm-svn: 79374 | |||||
* | Cleanups. Move GenerateRtti to CodeGenModule. | Mike Stump | 2009-08-18 | 1 | -14/+15 | |
| | | | | llvm-svn: 79372 | |||||
* | Move the rest of the vtable building code into the new builder. | Mike Stump | 2009-08-18 | 1 | -106/+102 | |
| | | | | llvm-svn: 79370 | |||||
* | Suck up method generation. | Mike Stump | 2009-08-18 | 1 | -19/+19 | |
| | | | | llvm-svn: 79367 | |||||
* | Split out vtable bulding code into a builder. | Mike Stump | 2009-08-18 | 1 | -19/+25 | |
| | | | | llvm-svn: 79366 | |||||
* | Patch to 1) synthesizing non-trivial default destructor when | Fariborz Jahanian | 2009-08-17 | 1 | -13/+102 | |
| | | | | | | | | one is not provided by user. 2) More complete emission of ctor prologue when it has no initializer list or when it is synthesized. llvm-svn: 79269 | |||||
* | Remove an ErrorUnsupported call. | Anders Carlsson | 2009-08-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 79261 | |||||
* | Improve handling of delete expressions. | Anders Carlsson | 2009-08-16 | 1 | -0/+57 | |
| | | | | llvm-svn: 79205 | |||||
* | Cleanups and fixups for calculating the virtual base offsets. WIP. | Mike Stump | 2009-08-16 | 1 | -76/+83 | |
| | | | | llvm-svn: 79156 | |||||
* | Improved on ir-gen for synthesis of non-trivial default | Fariborz Jahanian | 2009-08-15 | 1 | -0/+23 | |
| | | | | | | | constructor body whose class has non-static data-members which required non-trivial construction. llvm-svn: 79125 | |||||
* | ir-gen for generation of trvial copy constructor | Fariborz Jahanian | 2009-08-14 | 1 | -0/+13 | |
| | | | | | | call. llvm-svn: 79034 | |||||
* | Deconflate virtual base offsets from non-virtual base offsets. | Mike Stump | 2009-08-14 | 1 | -3/+10 | |
| | | | | | | Deconflate a virtual base primary from a non-virtual base. llvm-svn: 78971 | |||||
* | Fixed a bug in ir-gen for copy assignment synthesis. | Fariborz Jahanian | 2009-08-14 | 1 | -1/+4 | |
| | | | | | | | | Fixed a bug when evaluating those copy-assignments which need by lazily syntheized. A test case for these. llvm-svn: 78965 | |||||
* | Refine vtable layout for virtual bases and keep better track of | Mike Stump | 2009-08-13 | 1 | -11/+23 | |
| | | | | | | primaries. WIP. llvm-svn: 78950 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -16/+16 | |
| | | | | llvm-svn: 78946 | |||||
* | Patch to force synthesis of copy assignment operator | Fariborz Jahanian | 2009-08-13 | 1 | -0/+12 | |
| | | | | | | | | function in the order according to c++03. ir-gen for copy assignment in the trivial case and the first test case. llvm-svn: 78938 | |||||
* | Minor cleanups. | Mike Stump | 2009-08-13 | 1 | -3/+2 | |
| | | | | llvm-svn: 78927 | |||||
* | Prep for vbase layout refinements. WIP. | Mike Stump | 2009-08-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 78882 | |||||
* | Minor refactoring of copy assign operator ir-gen. SWIP. | Fariborz Jahanian | 2009-08-13 | 1 | -18/+21 | |
| | | | | llvm-svn: 78875 | |||||
* | More toward synthesizing copy assignments. SWIP. | Fariborz Jahanian | 2009-08-12 | 1 | -4/+96 | |
| | | | | llvm-svn: 78861 | |||||
* | Cleanup. | Mike Stump | 2009-08-12 | 1 | -8/+8 | |
| | | | | llvm-svn: 78858 | |||||
* | Refactor. WIP. Eventually, this will all go into a vtable builder class. | Mike Stump | 2009-08-12 | 1 | -16/+18 | |
| | | | | llvm-svn: 78857 |