| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Make thunk this/return adjustment ABI-specific. Also, fix the return ↵ | Timur Iskhodzhanov | 2013-10-30 | 1 | -54/+44 | |
| | | | | | | | | | adjustment when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D2026 llvm-svn: 193679 | |||||
| * | Fix an assertion when handling a custom case of virtual inheritance; also ↵ | Timur Iskhodzhanov | 2013-10-29 | 1 | -24/+2 | |
| | | | | | | | reduce code duplication llvm-svn: 193610 | |||||
| * | Drop the unneeded VBase field from MethodInfo in the VFTableBuilder class | Timur Iskhodzhanov | 2013-10-22 | 1 | -12/+5 | |
| | | | | | llvm-svn: 193164 | |||||
| * | [-cxx-abi microsoft] Fix this argument/parameter offsets for virtual ↵ | Timur Iskhodzhanov | 2013-10-16 | 1 | -5/+13 | |
| | | | | | | | | | destructors in the presence of virtual bases Reviewed at http://llvm-reviews.chandlerc.com/D1939 llvm-svn: 192822 | |||||
| * | Reduce double set lookups by using the result of insert. | Benjamin Kramer | 2013-10-14 | 1 | -2/+1 | |
| | | | | | | | No functionality change. llvm-svn: 192598 | |||||
| * | Code cleanup: rename VTableContext to ItaniumVTableContext, VTableBuilder to ↵ | Timur Iskhodzhanov | 2013-10-09 | 1 | -84/+79 | |
| | | | | | | | ItaniumVTableBuilder and clang-format code around llvm-svn: 192288 | |||||
| * | Reland 192220 "Abstract out parts of thunk emission code, add support for ↵ | Timur Iskhodzhanov | 2013-10-09 | 1 | -16/+58 | |
| | | | | | | | simple thunks when using -cxx-abi microsoft" with relaxed assertions llvm-svn: 192285 | |||||
| * | Revert 192220 as it fails on an assertion | Timur Iskhodzhanov | 2013-10-08 | 1 | -56/+16 | |
| | | | | | llvm-svn: 192225 | |||||
| * | Abstract out parts of thunk emission code, add support for simple thunks ↵ | Timur Iskhodzhanov | 2013-10-08 | 1 | -16/+56 | |
| | | | | | | | | | when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1787 llvm-svn: 192220 | |||||
| * | Fix PR17382 - properly group virtual method overloads in the vftable | Timur Iskhodzhanov | 2013-10-06 | 1 | -6/+38 | |
| | | | | | llvm-svn: 192067 | |||||
| * | Abstract out the emission of vtables, add basic support for vtable emission ↵ | Timur Iskhodzhanov | 2013-09-27 | 1 | -52/+74 | |
| | | | | | | | | | when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1532 llvm-svn: 191523 | |||||
| * | Abstract out virtual calls and virtual function prologue code generation; ↵ | Timur Iskhodzhanov | 2013-08-21 | 1 | -6/+13 | |
| | | | | | | | implement them for -cxx-abi microsoft llvm-svn: 188870 | |||||
| * | Make helper function static. | Benjamin Kramer | 2013-08-01 | 1 | -2/+2 | |
| | | | | | llvm-svn: 187574 | |||||
| * | Add MicrosoftVFTableContext to AST | Timur Iskhodzhanov | 2013-07-30 | 1 | -16/+906 | |
| | | | | | llvm-svn: 187409 | |||||
| * | Use SmallVectorImpl& for function arguments instead of SmallVector. | Craig Topper | 2013-07-05 | 1 | -2/+2 | |
| | | | | | llvm-svn: 185715 | |||||
| * | Simplify getting CXXRecordDecl from a base iterator | Timur Iskhodzhanov | 2013-07-02 | 1 | -21/+11 | |
| | | | | | llvm-svn: 185438 | |||||
| * | Fix a trivial typo, add a FIXME to have more test coverage for VTableBuilder | Timur Iskhodzhanov | 2013-06-28 | 1 | -1/+3 | |
| | | | | | llvm-svn: 185159 | |||||
| * | Delete dead code. | Eli Friedman | 2013-06-27 | 1 | -10/+1 | |
| | | | | | llvm-svn: 185101 | |||||
| * | Recommit r183298+r183300 'Get rid of ↵ | Timur Iskhodzhanov | 2013-06-05 | 1 | -159/+96 | |
| | | | | | | | | | | VTableContext::ComputeMethodVTableIndices() and VTableContext::getNumVirtualFunctionPointers()' In r183298, I've used llvm::SmallPtrSet<..., 8> instead of llvm::SmallVector<..., 8> for NewVirtualFunctionsTy by mistake. This only manifested when a class had more than 8 virtual functions, which wasn't covered by unit-tests llvm-svn: 183310 | |||||
| * | Revert r183298 and r183300 as the former broke the virtual function lookup ↵ | Timur Iskhodzhanov | 2013-06-05 | 1 | -96/+159 | |
| | | | | | | | in libcxx __locale llvm-svn: 183305 | |||||
| * | Fix fallout from r183298, unused function (CollectPrimaryBases) causing the ↵ | David Blaikie | 2013-06-05 | 1 | -15/+0 | |
| | | | | | | | -Werror build to fail llvm-svn: 183300 | |||||
| * | Fix the DUMP_OVERRIDERS macro in the VTableBuilder.cpp | Timur Iskhodzhanov | 2013-06-05 | 1 | -3/+1 | |
| | | | | | llvm-svn: 183299 | |||||
| * | Get rid of VTableContext::ComputeMethodVTableIndices() and ↵ | Timur Iskhodzhanov | 2013-06-05 | 1 | -144/+96 | |
| | | | | | | | VTableContext::getNumVirtualFunctionPointers(); also add some tests for the VTable indices output to make sure we don't regress llvm-svn: 183298 | |||||
| * | Fix one FIXME in VTableBuilder | Timur Iskhodzhanov | 2013-05-08 | 1 | -8/+8 | |
| | | | | | llvm-svn: 181396 | |||||
| * | Emit virtual/deleting destructors properly with -cxx-abi microsoft, PR15058 | Timur Iskhodzhanov | 2013-02-13 | 1 | -14/+13 | |
| | | | | | llvm-svn: 175045 | |||||
| * | CodeGen: Remove unnecessary const_casts. No functionality change. | Benjamin Kramer | 2013-02-03 | 1 | -7/+3 | |
| | | | | | llvm-svn: 174292 | |||||
| * | First pass at abstracting out a class for the target C++ ABI. | John McCall | 2013-01-25 | 1 | -1/+2 | |
| | | | | | llvm-svn: 173514 | |||||
| * | First step towards vftable generation with -cxx-abi microsoft PR13231 | Timur Iskhodzhanov | 2013-01-21 | 1 | -29/+86 | |
| | | | | | llvm-svn: 173035 | |||||
| * | Include pruning and general cleanup. | Benjamin Kramer | 2012-12-01 | 1 | -0/+1 | |
| | | | | | llvm-svn: 169095 | |||||
| * | Note deleted functions when dumping vtables. | David Blaikie | 2012-10-16 | 1 | -0/+3 | |
| | | | | | llvm-svn: 166056 | |||||
| * | Fix a typo (the the => the) | Sylvestre Ledru | 2012-07-23 | 1 | -1/+1 | |
| | | | | | llvm-svn: 160622 | |||||
| * | Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used ↵ | Benjamin Kramer | 2012-07-04 | 1 | -7/+8 | |
| | | | | | | | | | instead. No functionality change. llvm-svn: 159719 | |||||
| * | Revert Decl's iterators back to pointer value_type rather than reference ↵ | David Blaikie | 2012-06-06 | 1 | -5/+5 | |
| | | | | | | | | | | | | | | | value_type In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. llvm-svn: 158104 | |||||
| * | Remove the ref/value inconsistency in filter_decl_iterator. | David Blaikie | 2012-04-30 | 1 | -5/+5 | |
| | | | | | | | | | | | | | | filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) llvm-svn: 155808 | |||||
| * | Replace manual delete[] with OwningArrayPtr. | Benjamin Kramer | 2012-04-14 | 1 | -6/+4 | |
| | | | | | llvm-svn: 154748 | |||||
| * | Don't leak vtable thunks. | Benjamin Kramer | 2012-04-14 | 1 | -0/+1 | |
| | | | | | llvm-svn: 154747 | |||||
| * | For the annals of subtle but terrible bugs: fix a longstanding bug | John McCall | 2012-03-21 | 1 | -5/+5 | |
| | | | | | | | | | | | | | | | | | | | | | in vtable layout where virtual methods inherited from virtual bases could be assigned the same vcall adjustment slot if they shared a name and parameter signature but differed in their cv-qualification. The code was already trying to handle this case, but unfortunately used the ordinary type qualifiers (which are always empty here) instead of the method qualifiers. This seems like something that the API should discourage, but I don't know how to carry that principle out in this instance. Eliminate this function's need for an ASTContext while we're at it. This bug affects the ABI, and fixing it brings us into accord with the Itanium ABI (and GCC's implementation of it), but, obviously, technically breaks full compatibility with previous releases of Clang. Just letting you know. llvm-svn: 153168 | |||||
| * | Unify naming of LangOptions variable/get function across the Clang stack ↵ | David Blaikie | 2012-03-11 | 1 | -2/+2 | |
| | | | | | | | | | | | (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536 | |||||
| * | Fix a use of the C99 PRI format macros not to conflict with C++11 UDLs. | Benjamin Kramer | 2012-03-10 | 1 | -1/+2 | |
| | | | | | llvm-svn: 152475 | |||||
| * | Make format string 64 bit safe. | Benjamin Kramer | 2011-11-06 | 1 | -1/+1 | |
| | | | | | llvm-svn: 143870 | |||||
| * | Rename TagDecl::isDefinition -> isCompleteDefinition | John McCall | 2011-10-07 | 1 | -1/+1 | |
| | | | | | | | | for better self-documenting code, since the semantics are subtly different from getDefinition(). llvm-svn: 141355 | |||||
| * | Move VTable builder to AST | Peter Collingbourne | 2011-09-26 | 1 | -0/+2404 | |
| llvm-svn: 140510 | ||||||

