summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXX.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Calculate the address point for a vtable better, and start fleshing out the ↵Mike Stump2009-08-211-16/+48
| | | | | | | | vcall calculations better. llvm-svn: 79687
* Patch to ir-gen copy assigning array members when synthesizing Fariborz Jahanian2009-08-211-7/+103
| | | | | | a copy assignment operator function. llvm-svn: 79681
* Patch to provide ir-gen support in copying array membersFariborz Jahanian2009-08-211-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-declaredFariborz Jahanian2009-08-211-6/+17
| | | | | | constructors. llvm-svn: 79640
* Introduce getConstantArrayElementCount API and use it inFariborz Jahanian2009-08-211-16/+6
| | | | | | construction/destruction of array members. llvm-svn: 79637
* We now support overriding base functions in vtables. WIP.Mike Stump2009-08-211-17/+69
| | | | llvm-svn: 79587
* Patch to ir-gen destruction of array member elements in revers orderFariborz Jahanian2009-08-201-0/+60
| | | | | | of their construction. llvm-svn: 79571
* ir-gen patch to destruct array members. WIP.Fariborz Jahanian2009-08-201-13/+40
| | | | llvm-svn: 79565
* Refine vbase offsets for the inductive case. Things are now startingMike Stump2009-08-201-7/+7
| | | | | | to come together nicely. Still a WIP. llvm-svn: 79521
* Ensure we don't output repeated vbase offsets. I have a testcase forMike Stump2009-08-201-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 Jahanian2009-08-201-4/+2
| | | | llvm-svn: 79500
* ir-gen for multi-dimensional array construction. WIP.Fariborz Jahanian2009-08-201-6/+18
| | | | llvm-svn: 79497
* Removed unneeded code for break/continue statements inFariborz Jahanian2009-08-191-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 Jahanian2009-08-191-1/+95
| | | | llvm-svn: 79464
* Switch to SmallString::str from SmallString::c_str.Daniel Dunbar2009-08-191-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 vtableMike Stump2009-08-191-5/+5
| | | | | | building activities. llvm-svn: 79438
* Cleanup: fold IndirectPrimary into builder.Mike Stump2009-08-191-12/+9
| | | | llvm-svn: 79423
* We don't want to confuse this layout with the BLayout from the builder.Mike Stump2009-08-191-3/+3
| | | | llvm-svn: 79422
* Restore vbase offsets for classes without a primary.Mike Stump2009-08-191-1/+1
| | | | llvm-svn: 79402
* Refine vcalls a little.Mike Stump2009-08-191-20/+32
| | | | llvm-svn: 79400
* Cleanup.Mike Stump2009-08-181-4/+4
| | | | llvm-svn: 79374
* Cleanups. Move GenerateRtti to CodeGenModule.Mike Stump2009-08-181-14/+15
| | | | llvm-svn: 79372
* Move the rest of the vtable building code into the new builder.Mike Stump2009-08-181-106/+102
| | | | llvm-svn: 79370
* Suck up method generation.Mike Stump2009-08-181-19/+19
| | | | llvm-svn: 79367
* Split out vtable bulding code into a builder.Mike Stump2009-08-181-19/+25
| | | | llvm-svn: 79366
* Patch to 1) synthesizing non-trivial default destructor whenFariborz Jahanian2009-08-171-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 Carlsson2009-08-171-1/+1
| | | | llvm-svn: 79261
* Improve handling of delete expressions.Anders Carlsson2009-08-161-0/+57
| | | | llvm-svn: 79205
* Cleanups and fixups for calculating the virtual base offsets. WIP.Mike Stump2009-08-161-76/+83
| | | | llvm-svn: 79156
* Improved on ir-gen for synthesis of non-trivial defaultFariborz Jahanian2009-08-151-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 constructorFariborz Jahanian2009-08-141-0/+13
| | | | | | call. llvm-svn: 79034
* Deconflate virtual base offsets from non-virtual base offsets.Mike Stump2009-08-141-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 Jahanian2009-08-141-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 ofMike Stump2009-08-131-11/+23
| | | | | | primaries. WIP. llvm-svn: 78950
* Update for LLVM API change.Owen Anderson2009-08-131-16/+16
| | | | llvm-svn: 78946
* Patch to force synthesis of copy assignment operatorFariborz Jahanian2009-08-131-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 Stump2009-08-131-3/+2
| | | | llvm-svn: 78927
* Prep for vbase layout refinements. WIP.Mike Stump2009-08-131-1/+1
| | | | llvm-svn: 78882
* Minor refactoring of copy assign operator ir-gen. SWIP.Fariborz Jahanian2009-08-131-18/+21
| | | | llvm-svn: 78875
* More toward synthesizing copy assignments. SWIP.Fariborz Jahanian2009-08-121-4/+96
| | | | llvm-svn: 78861
* Cleanup.Mike Stump2009-08-121-8/+8
| | | | llvm-svn: 78858
* Refactor. WIP. Eventually, this will all go into a vtable builder class.Mike Stump2009-08-121-16/+18
| | | | llvm-svn: 78857
* Cleanup.Mike Stump2009-08-121-3/+1
| | | | llvm-svn: 78855
* Refactor.Mike Stump2009-08-121-19/+19
| | | | llvm-svn: 78854
* Refactor.Mike Stump2009-08-121-2/+5
| | | | llvm-svn: 78851
* Patch for synthesizing copy assignment operator.Fariborz Jahanian2009-08-121-0/+26
| | | | | | WIP. llvm-svn: 78841
* Improve the secondary vtables to not include vbase offsets. WIP.Mike Stump2009-08-121-13/+15
| | | | llvm-svn: 78831
* Refine vtable building for the secondary vtables to exclude yet moreMike Stump2009-08-121-6/+12
| | | | | | | cases where a virtual base was already used as a primary base class. WIP. llvm-svn: 78820
* ir-gen support for anonymous union data memberFariborz Jahanian2009-08-111-9/+10
| | | | | | | copying in copy constructors and used in default constructor's initializer list. llvm-svn: 78700
* Implement more of the inductive case for vtable layout involvingMike Stump2009-08-111-26/+45
| | | | | | | | | | | | | | | | | | | | | | | | virtual base primaries and improve the layout of classes with virtual bases. WIP. Hey, I've decided I want a change to FileCheck, I need to ensure that the group is together, nothing in between. Can we change it to check the match line is from the line immediately following the last matched line, if the source for the matched line is immediately after the source for the previously matched line? // CHECK: 1 // CHECK: 2 // CHECK: 3 // CHECK: 4 // CHECK: 5 // CHECK: 6 would require 1 2 and 3 to be continuous in the output, and 4 5 and 6 to be continuous. llvm-svn: 78638
OpenPOWER on IntegriCloud