summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVtable.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Move 'this' pointer adjustment thunks to AppendMethods.Anders Carlsson2009-12-041-15/+13
| | | | llvm-svn: 90527
* Factor appending methods to a vtable out into a separate function.Anders Carlsson2009-12-041-6/+13
| | | | llvm-svn: 90525
* Get rid of the Thunks struct too.Anders Carlsson2009-12-041-26/+16
| | | | llvm-svn: 90524
* Remove the CovariantThunk struct.Anders Carlsson2009-12-041-23/+15
| | | | llvm-svn: 90523
* Remove the GlobalDecl from the Thunk as well.Anders Carlsson2009-12-041-7/+5
| | | | llvm-svn: 90522
* Remove the GlobalDecl from the CovariantThunk struct, we can just look it up ↵Anders Carlsson2009-12-041-8/+5
| | | | | | in the Methods table now. llvm-svn: 90519
* Start populating the VtableMembers structure.Anders Carlsson2009-12-041-1/+10
| | | | llvm-svn: 90517
* Add a data structure for efficient storing of vtable methods. Not used yet.Anders Carlsson2009-12-041-0/+57
| | | | llvm-svn: 90515
* Eli, I copied my code from this code... Let's fix the souce of the bad idea!Mike Stump2009-12-031-4/+1
| | | | | | Thanks. llvm-svn: 90458
* Attempt to fix the MSVC build.Anders Carlsson2009-12-031-4/+4
| | | | llvm-svn: 90427
* Add support for thunking dtors. Oh why does this make my head hurt?Mike Stump2009-12-031-1/+1
| | | | llvm-svn: 90409
* Revert r90402 for now, virt.cpp is failing.Anders Carlsson2009-12-031-11/+9
| | | | llvm-svn: 90406
* Use Eli's ComputeThunkAdjustment for calculating the return adjustment.Anders Carlsson2009-12-031-9/+11
| | | | llvm-svn: 90402
* Remove the index from the Thunk struct.Anders Carlsson2009-12-031-14/+10
| | | | llvm-svn: 90400
* Change the Thunks map to use the vtable index as the key.Anders Carlsson2009-12-031-7/+9
| | | | llvm-svn: 90399
* Add the global decl to the Thunk struct.Anders Carlsson2009-12-031-5/+7
| | | | llvm-svn: 90398
* Remove unused struct fields.Anders Carlsson2009-12-031-7/+2
| | | | llvm-svn: 90397
* Delay computing the return adjustments for covariant thunks until when they ↵Anders Carlsson2009-12-031-98/+113
| | | | | | are added to the vtable. llvm-svn: 90396
* No need to create the covariant thunk in both places now.Anders Carlsson2009-12-031-12/+5
| | | | llvm-svn: 90394
* Whoops, forgot to save :)Anders Carlsson2009-12-031-2/+4
| | | | llvm-svn: 90393
* Remove the index field from the CovariantThunk structure.Anders Carlsson2009-12-031-14/+6
| | | | llvm-svn: 90392
* Change the CovariantThunk map to use the vtable index as its key.Anders Carlsson2009-12-031-9/+9
| | | | llvm-svn: 90391
* Store a GlobalDecl in the return adjustment.Anders Carlsson2009-12-031-4/+7
| | | | llvm-svn: 90387
* Do not include the 'this' pointer adjustment in the covariant return type. ↵Anders Carlsson2009-12-031-26/+39
| | | | | | Instead, store it in the (now oddly named) Thunks map. llvm-svn: 90386
* Move VtableBuilder::OverrideMethod out of line in preparation of other ↵Anders Carlsson2009-12-031-112/+117
| | | | | | changes to it. No functionality change. llvm-svn: 90382
* Turn off for now.Mike Stump2009-12-021-2/+2
| | | | llvm-svn: 90339
* Put the Builder classes into the anonymous namespace.Mike Stump2009-12-021-1/+2
| | | | llvm-svn: 90335
* Change rtti/Rtti to RTTI, as it is an acronym.Mike Stump2009-12-021-3/+3
| | | | llvm-svn: 90334
* Have ASTRecordLayout keep track of the key function, in preparation of ↵Anders Carlsson2009-11-301-8/+35
| | | | | | fixing a synthetic ctor/dtor bug. llvm-svn: 90168
* Fix an assert.Anders Carlsson2009-11-301-2/+2
| | | | llvm-svn: 90149
* Minor cleanup (no functionality change).Eli Friedman2009-11-301-23/+12
| | | | llvm-svn: 90105
* Remove remaining VISIBILITY_HIDDEN from anonymous namespaces.Benjamin Kramer2009-11-281-3/+1
| | | | llvm-svn: 90044
* We always want to create a virtual function pointer entry if the path from ↵Anders Carlsson2009-11-281-27/+5
| | | | | | the derived return value to the base overridden return value contains a virtual base class. llvm-svn: 90024
* Move the vtable builder to an anonymous namespace.Anders Carlsson2009-11-271-1/+5
| | | | llvm-svn: 90021
* Don't build the entire vtable when all we want is the index of a virtual method.Anders Carlsson2009-11-271-13/+233
| | | | llvm-svn: 90017
* Lazily create the __cxa_pure_virtual reference.Anders Carlsson2009-11-261-11/+19
| | | | llvm-svn: 89965
* Use the new CovariantThunkAdjustment in the vtable builder. Anders Carlsson2009-11-261-49/+63
| | | | | | Make the pure virtual methods map a set instead. llvm-svn: 89961
* Add a Thunk struct to the vtable builder.Anders Carlsson2009-11-261-19/+45
| | | | llvm-svn: 89935
* Add a CovariantThunkAdjustment struct that represents the adjustments needed ↵Anders Carlsson2009-11-261-2/+4
| | | | | | for a covariant thunk. llvm-svn: 89933
* Add a ThunkAdjustment struct which holds a non-virtual and a virtual ↵Anders Carlsson2009-11-261-1/+2
| | | | | | adjustment offset. Start using it. General cleanup in Mangle.cpp. llvm-svn: 89925
* It is common for vtables to contain pointers to functions that have either ↵Anders Carlsson2009-11-241-4/+1
| | | | | | | | incomplete return types or incomplete argument types. Handle this by returning the llvm::OpaqueType for those cases, which CodeGenModule::GetOrCreateLLVMFunction knows about, and treats as being an "incomplete function". llvm-svn: 89736
* IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into,Daniel Dunbar2009-11-211-7/+5
| | | | | | | instead of requiring clients to make a raw_svector_ostream, which is just an implementation detail. llvm-svn: 89548
* Sink free mangle* methods into MangleContext.Daniel Dunbar2009-11-211-3/+3
| | | | llvm-svn: 89547
* Fixup address point computations. WIP.Mike Stump2009-11-191-18/+26
| | | | llvm-svn: 89386
* Refine vtable, rtti and rtti name instantiation so that they followMike Stump2009-11-191-24/+78
| | | | | | | | | | | the key function. All the code is wired up, but won't work yet, as I had to turn off key function calculation as it doesn't work yet. Also, we refine visibility of the vtable, rtti and rtti name to match the class, as well as as arrange for all the symbols to be internal for anonymous namespace entities. llvm-svn: 89309
* Improve instantiation control for rtti data and allow key functions toMike Stump2009-11-191-0/+6
| | | | | | instantiate a class. WIP. llvm-svn: 89289
* Refine linkage on thunks. WIP.Mike Stump2009-11-191-2/+1
| | | | llvm-svn: 89287
* Set up vtable visibility appropriately.Mike Stump2009-11-181-7/+12
| | | | llvm-svn: 89193
* Finisgh off rest of class_type_info rtti generation.Mike Stump2009-11-141-1/+2
| | | | llvm-svn: 88823
* Handle descructor printing better.Mike Stump2009-11-131-6/+7
| | | | llvm-svn: 88723
OpenPOWER on IntegriCloud