Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rename CGVtable files to CGVTables. | Anders Carlsson | 2010-04-08 | 1 | -361/+0 |
| | | | | llvm-svn: 100778 | ||||
* | Minor include pruning. | Benjamin Kramer | 2010-03-31 | 1 | -1/+0 |
| | | | | llvm-svn: 100007 | ||||
* | Remove the old vtable layout code. | Anders Carlsson | 2010-03-30 | 1 | -57/+0 |
| | | | | llvm-svn: 99869 | ||||
* | Remove UseNewVTableCode checks. | Anders Carlsson | 2010-03-30 | 1 | -1/+1 |
| | | | | llvm-svn: 99868 | ||||
* | More vtable work - it's not possible to use the new vtable code for ↵ | Anders Carlsson | 2010-03-29 | 1 | -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 Carlsson | 2010-03-29 | 1 | -0/+4 |
| | | | | llvm-svn: 99798 | ||||
* | Add and implement CodeGenVTables::getSecondaryVirtualPointerIndex (not used ↵ | Anders Carlsson | 2010-03-26 | 1 | -2/+18 |
| | | | | | | yet). llvm-svn: 99608 | ||||
* | Way more VTT builder cleanup. | Anders Carlsson | 2010-03-26 | 1 | -4/+7 |
| | | | | llvm-svn: 99604 | ||||
* | When -fdump-vtable-layouts is specified, construction vtable initializers ↵ | Anders Carlsson | 2010-03-25 | 1 | -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 Carlsson | 2010-03-25 | 1 | -2/+6 |
| | | | | llvm-svn: 99462 | ||||
* | Shuffle some code around; this will make it easier to use the new layout ↵ | Anders Carlsson | 2010-03-25 | 1 | -17/+10 |
| | | | | | | code for address points. llvm-svn: 99461 | ||||
* | More vtable improvements. We now compute and keep track of all vtable ↵ | Anders Carlsson | 2010-03-24 | 1 | -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 Carlsson | 2010-03-24 | 1 | -2/+2 |
| | | | | llvm-svn: 99385 | ||||
* | More vtable work; preparations for moving over to the new vtable layout code ↵ | Anders Carlsson | 2010-03-24 | 1 | -3/+8 |
| | | | | | | (finally). llvm-svn: 99381 | ||||
* | Remove old thunks code. | Anders Carlsson | 2010-03-24 | 1 | -6/+0 |
| | | | | llvm-svn: 99374 | ||||
* | More work on thunks - don't assert if there's a variable with the same name ↵ | Anders Carlsson | 2010-03-23 | 1 | -1/+1 |
| | | | | | | as the thunk already. llvm-svn: 99303 | ||||
* | More work on thunks. | Anders Carlsson | 2010-03-23 | 1 | -0/+13 |
| | | | | llvm-svn: 99287 | ||||
* | Move ThunkInfo as well. | Anders Carlsson | 2010-03-23 | 1 | -1/+28 |
| | | | | llvm-svn: 99280 | ||||
* | Move ReturnAdjustment and ThisAdjustment out into CGVtable.h | Anders Carlsson | 2010-03-23 | 1 | -0/+61 |
| | | | | llvm-svn: 99279 | ||||
* | Baby steps towards making thunks be emitted from the new vtable layout code. | Anders Carlsson | 2010-03-23 | 1 | -0/+3 |
| | | | | llvm-svn: 99254 | ||||
* | Always emit associated thunks when emitting the function itself. Remove ↵ | Anders Carlsson | 2010-03-23 | 1 | -5/+0 |
| | | | | | | getVtableAddressPoint, it's not used. llvm-svn: 99252 | ||||
* | Rename MaybeEmitVtable to EmitVTableRelatedData in preparation for making it ↵ | Anders Carlsson | 2010-03-23 | 1 | -1/+3 |
| | | | | | | emit thunks as well. llvm-svn: 99251 | ||||
* | Rename CGVtableInfo to CodeGenVTables in preparation of adding another ↵ | Anders Carlsson | 2010-03-23 | 1 | -2/+2 |
| | | | | | | VTableInfo class. llvm-svn: 99250 | ||||
* | Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect ↵ | Anders Carlsson | 2010-03-11 | 1 | -9/+11 |
| | | | | | | what it actually does. llvm-svn: 98248 | ||||
* | Delay codegen of vtables when handling implicit instantiations. | Rafael Espindola | 2010-03-10 | 1 | -9/+9 |
| | | | | | | This fixes PR6474. llvm-svn: 98123 | ||||
* | Pass information about whether a base is virtual or not down to ↵ | Anders Carlsson | 2010-02-28 | 1 | -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 Carlsson | 2010-01-14 | 1 | -6/+25 |
| | | | | | | builder, because that's the only time they're needed. llvm-svn: 93412 | ||||
* | Add a DenseMapInfo specialization for BaseSubobject. | Anders Carlsson | 2010-01-14 | 1 | -2/+37 |
| | | | | llvm-svn: 93399 | ||||
* | Add a BaseSubobject class to uniquely identify a base class subobject. Not ↵ | Anders Carlsson | 2010-01-13 | 1 | -0/+25 |
| | | | | | | yet used. llvm-svn: 93345 | ||||
* | Move address points to CGVtableInfo, no functionality change. | Anders Carlsson | 2010-01-02 | 1 | -0/+5 |
| | | | | llvm-svn: 92420 | ||||
* | Correctly pass VTT parameters to constructors and destructors. The VTTs ↵ | Anders Carlsson | 2010-01-02 | 1 | -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 Friedman | 2009-12-07 | 1 | -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 vtable | Eli Friedman | 2009-12-06 | 1 | -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 Carlsson | 2009-12-06 | 1 | -1/+4 |
| | | | | llvm-svn: 90689 | ||||
* | More linkage improvements. | Anders Carlsson | 2009-12-06 | 1 | -4/+6 |
| | | | | llvm-svn: 90687 | ||||
* | Pass the desired vtable linkage to GenerateVtable directly. Only call ↵ | Anders Carlsson | 2009-12-06 | 1 | -7/+6 |
| | | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686 | ||||
* | Make GenerateVtable a private member function of CGVtableInfo. | Anders Carlsson | 2009-12-06 | 1 | -6/+12 |
| | | | | llvm-svn: 90684 | ||||
* | Add a function for getting the vtable address point of a class. | Anders Carlsson | 2009-12-05 | 1 | -0/+5 |
| | | | | llvm-svn: 90674 | ||||
* | Have ASTRecordLayout keep track of the key function, in preparation of ↵ | Anders Carlsson | 2009-11-30 | 1 | -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 Carlsson | 2009-11-27 | 1 | -1/+12 |
| | | | | llvm-svn: 90017 | ||||
* | Remove dead forward declaration. Fix struct/class mismatch. Remove trailing ↵ | Benjamin Kramer | 2009-11-26 | 1 | -19/+20 |
| | | | | | | whitespace. llvm-svn: 89947 | ||||
* | Add a CovariantThunkAdjustment struct that represents the adjustments needed ↵ | Anders Carlsson | 2009-11-26 | 1 | -0/+13 |
| | | | | | | for a covariant thunk. llvm-svn: 89933 | ||||
* | Move the mangler into the CodeGen namespace. Change mangleThunk to take a ↵ | Anders Carlsson | 2009-11-26 | 1 | -0/+4 |
| | | | | | | ThunkAdjustment. llvm-svn: 89930 | ||||
* | Add a ThunkAdjustment struct which holds a non-virtual and a virtual ↵ | Anders Carlsson | 2009-11-26 | 1 | -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 to | Mike Stump | 2009-11-19 | 1 | -0/+4 |
| | | | | | | instantiate a class. WIP. llvm-svn: 89289 | ||||
* | Instead of storing CXXMethodDecls in the vtable builder, store GlobalDecls ↵ | Anders Carlsson | 2009-11-13 | 1 | -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 Stump | 2009-11-11 | 1 | -2/+3 |
| | | | | llvm-svn: 86878 | ||||
* | More VTT work. We now track offsets and use the ctor vtable builder | Mike Stump | 2009-11-11 | 1 | -1/+2 |
| | | | | | | interface. WIP. llvm-svn: 86793 | ||||
* | Add vtable caching to prevent multiple vtables for the same class from | Mike Stump | 2009-11-10 | 1 | -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 for | Mike Stump | 2009-10-13 | 1 | -3/+5 |
| | | | | | | covariant thunks. WIP. llvm-svn: 84046 |