| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests. | Anders Carlsson | 2009-12-30 | 1 | -2/+2 |
| | | | | | llvm-svn: 92319 | ||||
| * | Remove some dead code. | Mike Stump | 2009-12-24 | 1 | -29/+19 |
| | | | | | llvm-svn: 92123 | ||||
| * | Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that ↵ | Anders Carlsson | 2009-12-17 | 1 | -2/+4 |
| | | | | | | | takes a CXXRecordDecl since we were just creating a QualType from it anyway. llvm-svn: 91590 | ||||
| * | Fix a small bug in ComputeMethodVtableIndices. | Eli Friedman | 2009-12-15 | 1 | -2/+10 |
| | | | | | llvm-svn: 91411 | ||||
| * | Fix linkage of type info and vtable for classes without linkage. | Eli Friedman | 2009-12-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 91152 | ||||
| * | Improve linkage of RTTI data structures. Introduce ↵ | Anders Carlsson | 2009-12-11 | 1 | -3/+1 |
| | | | | | | | CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests). llvm-svn: 91098 | ||||
| * | Slight tweak to vtable linkage. | Eli Friedman | 2009-12-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 90832 | ||||
| * | A bunch more thunk fixes from misc testing. | Eli Friedman | 2009-12-07 | 1 | -28/+30 |
| | | | | | | | (Yes, I do intend to commit some tests for this.) llvm-svn: 90818 | ||||
| * | It's OK to try to emit a vtable definition more than once. Fixes PR5697. | Anders Carlsson | 2009-12-07 | 1 | -2/+7 |
| | | | | | llvm-svn: 90751 | ||||
| * | Erm, revert for the moment; I didn't test this as thoroughly as I should have | Eli Friedman | 2009-12-07 | 1 | -3/+3 |
| | | | | | | | (although it does pass regression tests). llvm-svn: 90747 | ||||
| * | Tweak the formula for non-virtual offsets to something which appears a bit | Eli Friedman | 2009-12-07 | 1 | -3/+3 |
| | | | | | | | more accurate. llvm-svn: 90746 | ||||
| * | Move key functions to a separate map. | Anders Carlsson | 2009-12-07 | 1 | -3/+1 |
| | | | | | llvm-svn: 90745 | ||||
| * | Be a bit more complete about accumulating SavedThisAdjustments. | Eli Friedman | 2009-12-06 | 1 | -2/+4 |
| | | | | | llvm-svn: 90723 | ||||
| * | Work-in-progess rewrite of thunks: move thunk generation outside of vtable | Eli Friedman | 2009-12-06 | 1 | -8/+66 |
| | | | | | | | | 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 | -56/+35 |
| | | | | | llvm-svn: 90689 | ||||
| * | More linkage improvements. | Anders Carlsson | 2009-12-06 | 1 | -11/+26 |
| | | | | | llvm-svn: 90687 | ||||
| * | Pass the desired vtable linkage to GenerateVtable directly. Only call ↵ | Anders Carlsson | 2009-12-06 | 1 | -19/+7 |
| | | | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686 | ||||
| * | Make GenerateVtable a private member function of CGVtableInfo. | Anders Carlsson | 2009-12-06 | 1 | -21/+23 |
| | | | | | llvm-svn: 90684 | ||||
| * | Only emit the vtable definition if the class has a key function and we're ↵ | Anders Carlsson | 2009-12-05 | 1 | -32/+22 |
| | | | | | | | emitting it, or if the class doesn't have a key function and we are emitting the complete constructor. llvm-svn: 90681 | ||||
| * | If a class does not have a key function, its linkage should be weak_odr. | Anders Carlsson | 2009-12-05 | 1 | -2/+2 |
| | | | | | llvm-svn: 90680 | ||||
| * | Use createGlobalVariable for creating vtable variables too. | Anders Carlsson | 2009-12-05 | 1 | -42/+36 |
| | | | | | llvm-svn: 90679 | ||||
| * | CodeGenModule::GenerateVtable now returns a pointer directly to the vtable ↵ | Anders Carlsson | 2009-12-05 | 1 | -25/+20 |
| | | | | | | | and not to the address point. llvm-svn: 90676 | ||||
| * | Make sure that hte vtable always has an i8* array type. | Anders Carlsson | 2009-12-05 | 1 | -5/+4 |
| | | | | | llvm-svn: 90675 | ||||
| * | Add a function for getting the vtable address point of a class. | Anders Carlsson | 2009-12-05 | 1 | -0/+7 |
| | | | | | llvm-svn: 90674 | ||||
| * | Simplify BuildVTT. | Anders Carlsson | 2009-12-05 | 1 | -11/+10 |
| | | | | | llvm-svn: 90673 | ||||
| * | Let the VTT builder pretend that getVtable returns a pointer to the vtable ↵ | Anders Carlsson | 2009-12-05 | 1 | -4/+4 |
| | | | | | | | and not to the vtable address point. llvm-svn: 90672 | ||||
| * | Change getCtorVtable to not return the address point offset, but the global ↵ | Anders Carlsson | 2009-12-05 | 1 | -2/+10 |
| | | | | | | | variable. llvm-svn: 90671 | ||||
| * | Factor vtable related GlobalVariable creation out into a separate function. ↵ | Anders Carlsson | 2009-12-05 | 1 | -24/+40 |
| | | | | | | | Add vtable linkage test. llvm-svn: 90667 | ||||
| * | Skip actually generating the vtable unless we are defining it. This avoids | Eli Friedman | 2009-12-05 | 1 | -24/+38 |
| | | | | | | | the side-effects of generating the methods in the vtable (including PR5676). llvm-svn: 90635 | ||||
| * | Return bool as a bool instead of a uint64_t. | Benjamin Kramer | 2009-12-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 90610 | ||||
| * | Rename 'Class' to 'MostDerivedClass' | Anders Carlsson | 2009-12-04 | 1 | -8/+13 |
| | | | | | llvm-svn: 90573 | ||||
| * | Store the vtable components in a SmallVector. | Anders Carlsson | 2009-12-04 | 1 | -2/+3 |
| | | | | | llvm-svn: 90571 | ||||
| * | Use a different ConstantArray::get. | Anders Carlsson | 2009-12-04 | 1 | -1/+2 |
| | | | | | llvm-svn: 90570 | ||||
| * | Move the vtable vector directly into the Vtable builder. | Anders Carlsson | 2009-12-04 | 1 | -19/+30 |
| | | | | | llvm-svn: 90569 | ||||
| * | Change getIndex to return false if the index wasn't found. Avoids an extra ↵ | Anders Carlsson | 2009-12-04 | 1 | -11/+12 |
| | | | | | | | hash lookup. llvm-svn: 90568 | ||||
| * | Minor cleanup; no functionality change. | Eli Friedman | 2009-12-04 | 1 | -9/+3 |
| | | | | | llvm-svn: 90565 | ||||
| * | Remove unused argument. | Eli Friedman | 2009-12-04 | 1 | -16/+14 |
| | | | | | llvm-svn: 90563 | ||||
| * | Eliminate submethods vector. | Eli Friedman | 2009-12-04 | 1 | -6/+0 |
| | | | | | llvm-svn: 90562 | ||||
| * | Eliminate the inner loop in VtableBuilder::OverrideMethod. | Eli Friedman | 2009-12-04 | 1 | -75/+71 |
| | | | | | llvm-svn: 90561 | ||||
| * | Make sure that overridden method decls are always canonical. | Anders Carlsson | 2009-12-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 90542 | ||||
| * | Fix regression in vtable improvements. | Eli Friedman | 2009-12-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 90540 | ||||
| * | Rename method to something easier to search for. | Eli Friedman | 2009-12-04 | 1 | -7/+10 |
| | | | | | llvm-svn: 90536 | ||||
| * | More work in preparation of getting rid of the submethods loop. | Anders Carlsson | 2009-12-04 | 1 | -4/+6 |
| | | | | | llvm-svn: 90535 | ||||
| * | Remove an unused member variable. | Anders Carlsson | 2009-12-04 | 1 | -6/+1 |
| | | | | | llvm-svn: 90534 | ||||
| * | Add a way to get the index of a method. Assert that we have the same index ↵ | Anders Carlsson | 2009-12-04 | 1 | -5/+10 |
| | | | | | | | for now. llvm-svn: 90533 | ||||
| * | Add a premature optimization. | Anders Carlsson | 2009-12-04 | 1 | -0/+3 |
| | | | | | llvm-svn: 90532 | ||||
| * | Add the method directly to the vtable. | Anders Carlsson | 2009-12-04 | 1 | -6/+11 |
| | | | | | llvm-svn: 90531 | ||||
| * | Get rid of the PureVirtualMethods map. | Anders Carlsson | 2009-12-04 | 1 | -11/+0 |
| | | | | | llvm-svn: 90530 | ||||
| * | Move handling of pure virtual methods to AppendMethods (and rename it to ↵ | Anders Carlsson | 2009-12-04 | 1 | -14/+6 |
| | | | | | | | AppendMethodsToVtable). llvm-svn: 90529 | ||||
| * | Move covariant thunk handling to AppendMethods too. | Anders Carlsson | 2009-12-04 | 1 | -43/+30 |
| | | | | | llvm-svn: 90528 | ||||

