summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVtable.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename CGVtable files to CGVTables.Anders Carlsson2010-04-081-361/+0
| | | | llvm-svn: 100778
* Minor include pruning.Benjamin Kramer2010-03-311-1/+0
| | | | llvm-svn: 100007
* Remove the old vtable layout code.Anders Carlsson2010-03-301-57/+0
| | | | llvm-svn: 99869
* Remove UseNewVTableCode checks.Anders Carlsson2010-03-301-1/+1
| | | | llvm-svn: 99868
* More vtable work - it's not possible to use the new vtable code for ↵Anders Carlsson2010-03-291-0/+12
| | | | | | everything by setting a flag inside CGVtable.cpp. My plan is to run some tests and bootstrap and once that's done flip the bit. llvm-svn: 99804
* Cleanup, no functionality change.Anders Carlsson2010-03-291-0/+4
| | | | llvm-svn: 99798
* Add and implement CodeGenVTables::getSecondaryVirtualPointerIndex (not used ↵Anders Carlsson2010-03-261-2/+18
| | | | | | yet). llvm-svn: 99608
* Way more VTT builder cleanup.Anders Carlsson2010-03-261-4/+7
| | | | llvm-svn: 99604
* When -fdump-vtable-layouts is specified, construction vtable initializers ↵Anders Carlsson2010-03-251-0/+18
| | | | | | will be generated using the new vtable layout code. (The code is still not completely in place but this is a huge step forward). llvm-svn: 99508
* More address point map shuffling.Anders Carlsson2010-03-251-2/+6
| | | | llvm-svn: 99462
* Shuffle some code around; this will make it easier to use the new layout ↵Anders Carlsson2010-03-251-17/+10
| | | | | | code for address points. llvm-svn: 99461
* More vtable improvements. We now compute and keep track of all vtable ↵Anders Carlsson2010-03-241-4/+19
| | | | | | related information which avoids computing the same vtable layout over and over. llvm-svn: 99403
* Use getNamedGlobal instead of getGlobalVariable. (Fixes self-host).Anders Carlsson2010-03-241-2/+2
| | | | llvm-svn: 99385
* More vtable work; preparations for moving over to the new vtable layout code ↵Anders Carlsson2010-03-241-3/+8
| | | | | | (finally). llvm-svn: 99381
* Remove old thunks code.Anders Carlsson2010-03-241-6/+0
| | | | llvm-svn: 99374
* More work on thunks - don't assert if there's a variable with the same name ↵Anders Carlsson2010-03-231-1/+1
| | | | | | as the thunk already. llvm-svn: 99303
* More work on thunks.Anders Carlsson2010-03-231-0/+13
| | | | llvm-svn: 99287
* Move ThunkInfo as well.Anders Carlsson2010-03-231-1/+28
| | | | llvm-svn: 99280
* Move ReturnAdjustment and ThisAdjustment out into CGVtable.hAnders Carlsson2010-03-231-0/+61
| | | | llvm-svn: 99279
* Baby steps towards making thunks be emitted from the new vtable layout code.Anders Carlsson2010-03-231-0/+3
| | | | llvm-svn: 99254
* Always emit associated thunks when emitting the function itself. Remove ↵Anders Carlsson2010-03-231-5/+0
| | | | | | getVtableAddressPoint, it's not used. llvm-svn: 99252
* Rename MaybeEmitVtable to EmitVTableRelatedData in preparation for making it ↵Anders Carlsson2010-03-231-1/+3
| | | | | | emit thunks as well. llvm-svn: 99251
* Rename CGVtableInfo to CodeGenVTables in preparation of adding another ↵Anders Carlsson2010-03-231-2/+2
| | | | | | VTableInfo class. llvm-svn: 99250
* Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect ↵Anders Carlsson2010-03-111-9/+11
| | | | | | what it actually does. llvm-svn: 98248
* Delay codegen of vtables when handling implicit instantiations.Rafael Espindola2010-03-101-9/+9
| | | | | | This fixes PR6474. llvm-svn: 98123
* Pass information about whether a base is virtual or not down to ↵Anders Carlsson2010-02-281-2/+3
| | | | | | getCtorVtable, we need this information in the vtable builder. llvm-svn: 97356
* Store the address points for constructor vtables directly in the VTT ↵Anders Carlsson2010-01-141-6/+25
| | | | | | builder, because that's the only time they're needed. llvm-svn: 93412
* Add a DenseMapInfo specialization for BaseSubobject.Anders Carlsson2010-01-141-2/+37
| | | | llvm-svn: 93399
* Add a BaseSubobject class to uniquely identify a base class subobject. Not ↵Anders Carlsson2010-01-131-0/+25
| | | | | | yet used. llvm-svn: 93345
* Move address points to CGVtableInfo, no functionality change.Anders Carlsson2010-01-021-0/+5
| | | | llvm-svn: 92420
* Correctly pass VTT parameters to constructors and destructors. The VTTs ↵Anders Carlsson2010-01-021-0/+14
| | | | | | aren't yet used in the ctors/dtors, but that will follow. llvm-svn: 92409
* A bunch more thunk fixes from misc testing.Eli Friedman2009-12-071-5/+9
| | | | | | (Yes, I do intend to commit some tests for this.) llvm-svn: 90818
* Work-in-progess rewrite of thunks: move thunk generation outside of vtableEli Friedman2009-12-061-0/+8
| | | | | | | generation, and make sure we generate thunks when the function is defined rather than when the vtable is defined. llvm-svn: 90722
* Set the correct linkage for VTTs as well.Anders Carlsson2009-12-061-1/+4
| | | | llvm-svn: 90689
* More linkage improvements.Anders Carlsson2009-12-061-4/+6
| | | | llvm-svn: 90687
* Pass the desired vtable linkage to GenerateVtable directly. Only call ↵Anders Carlsson2009-12-061-7/+6
| | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686
* Make GenerateVtable a private member function of CGVtableInfo.Anders Carlsson2009-12-061-6/+12
| | | | llvm-svn: 90684
* Add a function for getting the vtable address point of a class.Anders Carlsson2009-12-051-0/+5
| | | | llvm-svn: 90674
* Have ASTRecordLayout keep track of the key function, in preparation of ↵Anders Carlsson2009-11-301-4/+8
| | | | | | fixing a synthetic ctor/dtor bug. llvm-svn: 90168
* Don't build the entire vtable when all we want is the index of a virtual method.Anders Carlsson2009-11-271-1/+12
| | | | llvm-svn: 90017
* Remove dead forward declaration. Fix struct/class mismatch. Remove trailing ↵Benjamin Kramer2009-11-261-19/+20
| | | | | | whitespace. llvm-svn: 89947
* Add a CovariantThunkAdjustment struct that represents the adjustments needed ↵Anders Carlsson2009-11-261-0/+13
| | | | | | for a covariant thunk. llvm-svn: 89933
* Move the mangler into the CodeGen namespace. Change mangleThunk to take a ↵Anders Carlsson2009-11-261-0/+4
| | | | | | ThunkAdjustment. llvm-svn: 89930
* Add a ThunkAdjustment struct which holds a non-virtual and a virtual ↵Anders Carlsson2009-11-261-0/+21
| | | | | | adjustment offset. Start using it. General cleanup in Mangle.cpp. llvm-svn: 89925
* Improve instantiation control for rtti data and allow key functions toMike Stump2009-11-191-0/+4
| | | | | | instantiate a class. WIP. llvm-svn: 89289
* Instead of storing CXXMethodDecls in the vtable builder, store GlobalDecls ↵Anders Carlsson2009-11-131-2/+3
| | | | | | | | so we can represent both the complete and deleting destructors. Also, when encountering a destructor decl, emit entries for both the complete and deleting destructors. Mike, please review. With this change, FileCheck builds and runs the clang test suite without failures! llvm-svn: 88663
* Push ctor vtable construction down further. WIP.Mike Stump2009-11-111-2/+3
| | | | llvm-svn: 86878
* More VTT work. We now track offsets and use the ctor vtable builderMike Stump2009-11-111-1/+2
| | | | | | interface. WIP. llvm-svn: 86793
* Add vtable caching to prevent multiple vtables for the same class fromMike Stump2009-11-101-0/+4
| | | | | | | | being generated. Add the most derived vtable pointer to the VTT. llvm-svn: 86671
* Refine handling for non-virtual bases in return value adjustments forMike Stump2009-10-131-3/+5
| | | | | | covariant thunks. WIP. llvm-svn: 84046
OpenPOWER on IntegriCloud