summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVtable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Include header for printf.Zhongxing Xu2009-11-131-0/+1
| | | | llvm-svn: 87086
* Refine construction vtables; they don't include bits that don't haveMike Stump2009-11-131-0/+5
| | | | | | virtual bases unless they are morally virtual. llvm-svn: 87071
* Refine the construction vtables with respect to offsets. WIP.Mike Stump2009-11-131-15/+15
| | | | llvm-svn: 87067
* Allow the tracking of address points for construction vtables as well.Mike Stump2009-11-131-26/+43
| | | | llvm-svn: 87063
* Refine which vtbl is refernced in VTTs.Mike Stump2009-11-121-6/+12
| | | | llvm-svn: 87043
* Refine offsets into vtables for the VTT.Mike Stump2009-11-121-1/+1
| | | | llvm-svn: 87041
* Refine vtable pointers for secondary vtables inside VTTs to point toMike Stump2009-11-121-19/+32
| | | | | | the right base vtable. WIP. llvm-svn: 87039
* Fix the offset calculations for non-virtual bases with overrides.Mike Stump2009-11-121-25/+83
| | | | | | | | | Refine the VTT entries for virtual bases to refer to the complete object's vtable instead of constructor vtables. Refine the AddressPoint calculations for VTT entries for virtual bases. llvm-svn: 87021
* Fix ctor vtable name. WIP.Mike Stump2009-11-111-1/+1
| | | | llvm-svn: 86879
* Push ctor vtable construction down further. WIP.Mike Stump2009-11-111-8/+16
| | | | llvm-svn: 86878
* More VTT work. We now track offsets and use the ctor vtable builderMike Stump2009-11-111-10/+25
| | | | | | interface. WIP. llvm-svn: 86793
* Stub out most of the VTT building code. WIP.Mike Stump2009-11-111-2/+83
| | | | llvm-svn: 86772
* Only generate a VTT for classes that need a VTT.Mike Stump2009-11-101-0/+4
| | | | llvm-svn: 86699
* Add vtable caching to prevent multiple vtables for the same class fromMike Stump2009-11-101-17/+30
| | | | | | | | being generated. Add the most derived vtable pointer to the VTT. llvm-svn: 86671
* Be sure to clear out VCall when we clear out VCalls.Mike Stump2009-11-101-0/+39
| | | | | | Start implementing VTTs. WIP. llvm-svn: 86650
* Refine the non-virtual this adjustment. Optimize out virtual thisMike Stump2009-11-061-43/+57
| | | | | | adjustments of zero. llvm-svn: 86300
* Refine the vcall for a function that is defined in a virtual baseMike Stump2009-11-061-6/+13
| | | | | | class that is overridden in a base that isn't morally virtual. llvm-svn: 86217
* Refine codegen for covariant thunks that return references.Mike Stump2009-11-031-4/+4
| | | | llvm-svn: 85916
* Refine vcall/vbase ordering with vtable construction.Mike Stump2009-10-311-47/+91
| | | | llvm-svn: 85677
* Refactor a bit.Mike Stump2009-10-281-9/+1
| | | | llvm-svn: 85424
* Finish off pure virtual function handling.Mike Stump2009-10-281-5/+18
| | | | llvm-svn: 85354
* Prep work for putting ___cxa_pure_virtual in the vtables for pure functions.Mike Stump2009-10-271-0/+13
| | | | llvm-svn: 85345
* Refactor code a little.Mike Stump2009-10-271-25/+15
| | | | llvm-svn: 85343
* Switch vtable to linkeonce_odr. Patch by nlewycky.Chandler Carruth2009-10-261-1/+1
| | | | llvm-svn: 85131
* Refine non-virtual part of the this adjustment for thunks. RefineMike Stump2009-10-151-15/+56
| | | | | | | non-virtual part of the return result adjustments for covariant thunks. WIP. llvm-svn: 84178
* Track the offset to the current virtual base in CurrentVBaseOffset.Mike Stump2009-10-151-21/+35
| | | | | | Track path information completely to ensure we get all the overrides. WIP. llvm-svn: 84166
* Shift the vcall slots for non-virtual bases of a virtual base, up intoMike Stump2009-10-141-6/+34
| | | | | | | | the virtual base so they can be reused properly. Don't reuse vcall slots across a virtual boundary. WIP. I have a testcase, but there are still things that need to be fixed before the testcase can go in. llvm-svn: 84120
* Refine handling for non-virtual bases in return value adjustments forMike Stump2009-10-131-11/+25
| | | | | | covariant thunks. WIP. llvm-svn: 84046
* Ensure we sign extend.Mike Stump2009-10-131-2/+2
| | | | llvm-svn: 84031
* Remove FIXME. We construct VBIndex very early, before any calls to ↵Mike Stump2009-10-131-1/+0
| | | | | | OverrideMethod. llvm-svn: 83981
* Refine handling for return value conversions with respect to virtualMike Stump2009-10-131-12/+22
| | | | | | offsets for covariant thunks. llvm-svn: 83965
* Remove dead variable.Benjamin Kramer2009-10-111-1/+1
| | | | llvm-svn: 83808
* Move the vtable builder to CGVtable.cpp, general cleanup.Anders Carlsson2009-10-111-0/+534
llvm-svn: 83798
OpenPOWER on IntegriCloud