summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVtable.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove OldOffset.Anders Carlsson2010-03-121-7/+2
| | | | llvm-svn: 98331
* Remove debug output.Anders Carlsson2010-03-121-3/+0
| | | | llvm-svn: 98330
* Begin simplifying handling of thunks.Anders Carlsson2010-03-121-67/+67
| | | | llvm-svn: 98329
* Use the new vtable layout code for computing virtual base offset offsets.Anders Carlsson2010-03-111-15/+18
| | | | llvm-svn: 98257
* Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect ↵Anders Carlsson2010-03-111-12/+12
| | | | | | what it actually does. llvm-svn: 98248
* When possible, use the vbase offset offsets from the most derived class ↵Anders Carlsson2010-03-111-3/+10
| | | | | | directly. llvm-svn: 98247
* Keep track of, and dump, vbase offset offsets.Anders Carlsson2010-03-111-15/+77
| | | | llvm-svn: 98245
* Fix tests.Anders Carlsson2010-03-111-1/+1
| | | | llvm-svn: 98242
* Run the new vtable builder for construction vtables as well now. Note that ↵Anders Carlsson2010-03-111-13/+10
| | | | | | we still don't use the data it generates. llvm-svn: 98239
* Fix calculation of whether a member function needs a thunk in construction ↵Anders Carlsson2010-03-101-13/+23
| | | | | | vtables. llvm-svn: 98191
* We were mistakenly marking morally virtual bases as being uninteresting. Fix ↵Anders Carlsson2010-03-101-5/+13
| | | | | | this. llvm-svn: 98180
* Ignore non-interesting bases when emitting construction vtables.Anders Carlsson2010-03-101-0/+11
| | | | llvm-svn: 98177
* Don't accidentally mark some functions in construction vtables as unused. ↵Anders Carlsson2010-03-101-30/+42
| | | | | | Also land the test for a previous checkin, now that it's correct. llvm-svn: 98139
* When building construction vtables, we need to check if a primary virtual ↵Anders Carlsson2010-03-101-7/+29
| | | | | | base is actually a primary virtual base in the layout class. llvm-svn: 98131
* Improve vcall offset handling in construction vtables. With this we layout ↵Anders Carlsson2010-03-101-21/+58
| | | | | | the construction vtables from the ABI examples correctly. llvm-svn: 98127
* Delay codegen of vtables when handling implicit instantiations.Rafael Espindola2010-03-101-15/+23
| | | | | | This fixes PR6474. llvm-svn: 98123
* Fix a bug with base offset merging that Devang noticed.Anders Carlsson2010-03-031-37/+9
| | | | llvm-svn: 97641
* Simplify code.Anders Carlsson2010-03-021-8/+7
| | | | llvm-svn: 97551
* Rename BaseOffset to Offset and make it signed in preparation of more ↵Anders Carlsson2010-03-021-10/+11
| | | | | | construction vtable work. llvm-svn: 97546
* Remove debug output.Anders Carlsson2010-02-281-2/+0
| | | | llvm-svn: 97407
* Handle unused functions in construction vtables correctly.Anders Carlsson2010-02-281-9/+17
| | | | llvm-svn: 97406
* When laying out vtables for virtual bases in construction vtables, we need ↵Anders Carlsson2010-02-281-3/+16
| | | | | | to check if the vtable is a primary base in the layout class. llvm-svn: 97402
* More improvements to construction vtables; we know handle vbase offsets ↵Anders Carlsson2010-02-281-42/+51
| | | | | | correctly (I hope). llvm-svn: 97361
* Pass information about whether a base is virtual or not down to ↵Anders Carlsson2010-02-281-8/+22
| | | | | | getCtorVtable, we need this information in the vtable builder. llvm-svn: 97356
* Add new function.Anders Carlsson2010-02-281-2/+8
| | | | llvm-svn: 97353
* Fix to dumpLayout; we want to be able to dump address points even if the ↵Anders Carlsson2010-02-271-31/+34
| | | | | | vtable doesn't have any methods. llvm-svn: 97350
* Add a simple construction vtable test.Anders Carlsson2010-02-271-6/+22
| | | | llvm-svn: 97344
* Start fleshing out construction vtable support.Anders Carlsson2010-02-271-10/+38
| | | | llvm-svn: 97342
* Enable the new vtable layout code for vtables that aren't construction ↵Anders Carlsson2010-02-271-5/+9
| | | | | | vtables. (This doesn't mean that we emit LLVM IR using it yet, it just means that it's running and hopefully not crashing or asserting). llvm-svn: 97341
* Move ComputeThisAdjustmentBaseOffset to VtableBuilder.Anders Carlsson2010-02-271-61/+61
| | | | llvm-svn: 97340
* Make sure to insert the primary base in the set :)Anders Carlsson2010-02-271-0/+3
| | | | llvm-svn: 97339
* Use the real base offset when calculating vbase offsets.Anders Carlsson2010-02-271-1/+1
| | | | llvm-svn: 97338
* Figured out why the test was failing, this will hopefully fix it.Anders Carlsson2010-02-271-3/+9
| | | | llvm-svn: 97336
* Don't add this adjustments for pure virtual member functions.Anders Carlsson2010-02-271-2/+6
| | | | llvm-svn: 97334
* We want to store method info for unused functions.Anders Carlsson2010-02-271-10/+20
| | | | llvm-svn: 97333
* Finish up the changes to this adjustments.Anders Carlsson2010-02-271-37/+102
| | | | llvm-svn: 97328
* Stub out more of the 'this' pointer adjustment fixes I've been planning. ↵Anders Carlsson2010-02-271-13/+36
| | | | | | Start using a set vector for primary bases so they will be ordered. llvm-svn: 97326
* Fix another vtable layout bug; we weren't looking hard enough for overriden ↵Anders Carlsson2010-02-271-8/+40
| | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306
* Handle vcall offset sharing between destructors.Anders Carlsson2010-02-271-3/+7
| | | | llvm-svn: 97304
* Fix a bug where we were generating an unnecessary vtable for a virtual base ↵Anders Carlsson2010-02-271-9/+37
| | | | | | that's already a primary virtual base. llvm-svn: 97303
* Sundry fixes to the new vtable builder.John McCall2010-02-261-13/+33
| | | | llvm-svn: 97258
* Improve vcall offset handling.Anders Carlsson2010-02-251-12/+26
| | | | llvm-svn: 97174
* Fux a bug where we were trying to add overriders for non-virtual bases of ↵Anders Carlsson2010-02-251-3/+3
| | | | | | virtual bases more than once. llvm-svn: 97173
* Remove dead code.Anders Carlsson2010-02-251-176/+0
| | | | llvm-svn: 97109
* Move the vcall and vbase offset layout code out into its own class.Anders Carlsson2010-02-251-8/+224
| | | | llvm-svn: 97107
* Get rid of 'this' adjustments from the FinalOverriders class since they can ↵Anders Carlsson2010-02-241-34/+0
| | | | | | be different for the same overrider in different parts of the vtable. llvm-svn: 97068
* Improve this adjustment pointer calculation.Anders Carlsson2010-02-241-5/+16
| | | | llvm-svn: 97067
* Make ComputeThisAdjustmentBaseOffset public for now.Anders Carlsson2010-02-241-7/+8
| | | | llvm-svn: 97066
* Generate correct vcall offsets when we have a primary virtual base that is ↵Anders Carlsson2010-02-241-7/+29
| | | | | | not a primary base in the complete class hierarchy. llvm-svn: 97039
* Implement IsOverriderUsed. This can't be tested yet due to some other bugs :)Anders Carlsson2010-02-231-1/+46
| | | | llvm-svn: 96897
OpenPOWER on IntegriCloud