summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVtable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Stub out IsOverriderUsed.Anders Carlsson2010-02-231-4/+50
| | | | llvm-svn: 96883
* More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵Anders Carlsson2010-02-231-10/+43
| | | | | | question is a primary virtual base of some other base. llvm-svn: 96881
* Always emit vcall offset for the primary base, not only if it's virtual. ↵Anders Carlsson2010-02-231-5/+1
| | | | | | Remove a debug printf, and add the test case that now passes. llvm-svn: 96880
* Simplify the vcall offset calculation and make it give the correct answers ↵Anders Carlsson2010-02-231-26/+17
| | | | | | :) My test case now has the right values but in the wrong order. llvm-svn: 96877
* More work on vcall offsets. We now emit the right number of vcall offsets in ↵Anders Carlsson2010-02-231-5/+1
| | | | | | my local test case, but not the right values. llvm-svn: 96874
* Move BaseOffset out of the FinalOverriders class.Anders Carlsson2010-02-231-45/+44
| | | | llvm-svn: 96853
* Change the name of the vtable-debugging environment variable toDouglas Gregor2010-02-221-1/+1
| | | | | | CLANG_VTABLE_DEBUG. llvm-svn: 96785
* Don't use NamedDecl::getNameAsCString() when dealing with C++ methods,Douglas Gregor2010-02-221-13/+13
| | | | | | since they may not have normal identifiers for names. Fixes PR6369. llvm-svn: 96784
* Add the CK_UnusedFunctionPointer component kind for unused function pointers.Anders Carlsson2010-02-191-3/+34
| | | | llvm-svn: 96695
* Dump this-adjustments for destructors as well.Anders Carlsson2010-02-191-10/+27
| | | | llvm-svn: 96660
* Attempt to fix the 32-bit test failures.Anders Carlsson2010-02-181-1/+1
| | | | llvm-svn: 96595
* Fix another bug and add another class.Anders Carlsson2010-02-181-2/+10
| | | | llvm-svn: 96590
* More work on vcall offsets.Anders Carlsson2010-02-181-4/+61
| | | | llvm-svn: 96587
* Start stubbing out vcall offset handling.Anders Carlsson2010-02-181-10/+60
| | | | llvm-svn: 96585
* Store the base offset of the final overrider in the OverriderInfo struct, to ↵Anders Carlsson2010-02-181-1/+6
| | | | | | be used for vcall offsets. llvm-svn: 96582
* Remove some dead code.Anders Carlsson2010-02-181-13/+0
| | | | llvm-svn: 96581
OpenPOWER on IntegriCloud