Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove the -fhidden-weak-vtables -cc1 option. It was dead, | John McCall | 2014-02-08 | 1 | -1/+1 |
| | | | | | | gross, and increasingly replaced through other mechanisms. llvm-svn: 201011 | ||||
* | Eliminate the ItaniumVTableContext object from CodeGenVTables | Reid Kleckner | 2013-12-20 | 1 | -1/+2 |
| | | | | | | | | | | | | | Now CodeGenVTables has only one VTableContext object, which is either Itanium or Microsoft. Fixes a FIXME with no functionality change intended. Ideally we could avoid the downcasts by pushing the things that reference the Itanium vtable context into ItaniumCXXABI.cpp, but we're not there yet. llvm-svn: 197845 | ||||
* | Fix vbtable indices when a class shares the vbptr with a non-virtual base | Timur Iskhodzhanov | 2013-11-05 | 1 | -2/+2 |
| | | | | llvm-svn: 194082 | ||||
* | Extract ABI-specific parts of MangleContext into separate classes | Timur Iskhodzhanov | 2013-10-03 | 1 | -1/+2 |
| | | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D1807 llvm-svn: 191878 | ||||
* | Abstract out the emission of vtables, add basic support for vtable emission ↵ | Timur Iskhodzhanov | 2013-09-27 | 1 | -4/+5 |
| | | | | | | | | when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1532 llvm-svn: 191523 | ||||
* | [ms-cxxabi] Move CodeGenVTables::needsVTTParameter to ItaniumCXXABI. | Peter Collingbourne | 2013-06-28 | 1 | -18/+0 |
| | | | | | | | | | This function only makes sense there. Eventually it should no longer be part of the CGCXXABI interface, as it is an Itanium-specific detail. Differential Revision: http://llvm-reviews.chandlerc.com/D821 llvm-svn: 185213 | ||||
* | simplify a bunch of code to use the well-known LLVM IR types computed by ↵ | Chris Lattner | 2012-02-07 | 1 | -5/+2 |
| | | | | | | CodeGenModule. llvm-svn: 149943 | ||||
* | Basic: import SmallString<> into clang namespace | Dylan Noblesmith | 2012-02-05 | 1 | -1/+1 |
| | | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799 | ||||
* | Remove obsolete debugging macro, make helper static. | Benjamin Kramer | 2011-10-22 | 1 | -7/+5 |
| | | | | llvm-svn: 142730 | ||||
* | Move all vtable layout data into new VTableLayout class | Peter Collingbourne | 2011-09-26 | 1 | -1/+2 |
| | | | | llvm-svn: 140506 | ||||
* | Move vtable component accessors to VTableContext | Peter Collingbourne | 2011-09-26 | 1 | -1/+1 |
| | | | | llvm-svn: 140504 | ||||
* | Remove CodeGenVTables::ComputeVTableRelatedInformation dependency on CodeGen | Peter Collingbourne | 2011-09-26 | 1 | -1/+2 |
| | | | | llvm-svn: 140503 | ||||
* | Move VTT builder to AST | Peter Collingbourne | 2011-09-26 | 1 | -337/+1 |
| | | | | llvm-svn: 140501 | ||||
* | Remove CodeGenModule field from VTTBuilder | Peter Collingbourne | 2011-09-26 | 1 | -11/+11 |
| | | | | llvm-svn: 140499 | ||||
* | Make the VTTBuilder class independent of LLVM core | Peter Collingbourne | 2011-09-26 | 1 | -95/+128 |
| | | | | llvm-svn: 140498 | ||||
* | remove unneeded llvm:: namespace qualifiers on some core types now that ↵ | Chris Lattner | 2011-07-23 | 1 | -2/+2 |
| | | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852 | ||||
* | Convert ConstantExpr::getGetElementPtr and | Jay Foad | 2011-07-21 | 1 | -1/+1 |
| | | | | | | ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. llvm-svn: 135673 | ||||
* | de-constify llvm::Type, patch by David Blaikie! | Chris Lattner | 2011-07-18 | 1 | -5/+5 |
| | | | | llvm-svn: 135370 | ||||
* | Replace the existing forms of ConstantArray::get() with a single form | Jay Foad | 2011-06-22 | 1 | -2/+1 |
| | | | | | | that takes an ArrayRef. llvm-svn: 133615 | ||||
* | Fix another regression from the "skip vtable pointer initialization" | Anders Carlsson | 2011-05-16 | 1 | -0/+2 |
| | | | | | | | optimization. Make sure to require a vtable when trying to get the address of a VTT, otherwise we would never end up emitting the VTT. llvm-svn: 131400 | ||||
* | We were emitting construction v-tables with internal linkage all the time. | John McCall | 2011-03-27 | 1 | -4/+16 |
| | | | | | | | | | | | | | | | Emit them instead with the linkage of the VTT. I'm actually really ambivalent about this; it's what GCC does, but outside of improving code size (if the linkage is coalescing), I'm not sure it's at all relevant. Construction vtables are naturally referenced only by the VTT, which is itself only referenced by complete-object constructors and destructors; giving the construction vtables possibly-external linkage is important if you have an optimization that drills through the VTT to a reference to a particular construction vtable which it cannot just emit itself. llvm-svn: 128374 | ||||
* | Convert the BaseOffset member of BaseSubobject to CharUnits from bits. No | Ken Dyck | 2011-03-24 | 1 | -12/+13 |
| | | | | | | change in functionality intended. llvm-svn: 128190 | ||||
* | For consistency, use llvm::raw_ostream in the rest of the mangle api. | Rafael Espindola | 2011-02-11 | 1 | -1/+3 |
| | | | | llvm-svn: 125360 | ||||
* | Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum ↵ | Anders Carlsson | 2011-01-29 | 1 | -1/+1 |
| | | | | | | instead of an "IsForRTTI" flag. llvm-svn: 124546 | ||||
* | Give VTTs the right visibility. | Anders Carlsson | 2011-01-29 | 1 | -0/+3 |
| | | | | llvm-svn: 124540 | ||||
* | Make emitting a VTT a two-step process, much like emitting a VTable. You ↵ | Anders Carlsson | 2011-01-29 | 1 | -42/+31 |
| | | | | | | first get the address of the VTT, and then pass it to EmitVTTDefinition. llvm-svn: 124539 | ||||
* | Also set unnamed_addr on declarations. | Rafael Espindola | 2011-01-15 | 1 | -2/+1 |
| | | | | llvm-svn: 123531 | ||||
* | Only add unnamed_addr to definitions. | Rafael Espindola | 2011-01-13 | 1 | -1/+2 |
| | | | | llvm-svn: 123354 | ||||
* | Set unnamed_addr in VTTs. | Rafael Espindola | 2011-01-11 | 1 | -0/+1 |
| | | | | llvm-svn: 123280 | ||||
* | Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual. | Anders Carlsson | 2010-11-24 | 1 | -1/+1 |
| | | | | llvm-svn: 120133 | ||||
* | Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a ↵ | Anders Carlsson | 2010-10-31 | 1 | -4/+5 |
| | | | | | | getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. llvm-svn: 117881 | ||||
* | Better solution: calculate the visibility of functions and variables | John McCall | 2010-10-30 | 1 | -1/+1 |
| | | | | | | | | | | independently of whether they're definitions, then teach IR generation to ignore non-explicit visibility when emitting declarations. Use this to make sure that RTTI, vtables, and VTTs get the right visibility. More of rdar://problem/8613093 llvm-svn: 117781 | ||||
* | Teach IR generation to return 'this' from constructors and destructors | John McCall | 2010-08-31 | 1 | -1/+2 |
| | | | | | | under the ARM ABI. llvm-svn: 112588 | ||||
* | The global variable for the VTT might not have external linkage; allow | Douglas Gregor | 2010-05-06 | 1 | -1/+1 |
| | | | | | | | us to find local variables, too. Fixes the last remaining Boost.Rational failure. llvm-svn: 103203 | ||||
* | Store the entire base subobject in SubVTTIndices. | Anders Carlsson | 2010-05-03 | 1 | -10/+9 |
| | | | | llvm-svn: 102890 | ||||
* | Have getSubVTTIndex take a BaseSubobject instead of just a base. | Anders Carlsson | 2010-05-02 | 1 | -2/+2 |
| | | | | llvm-svn: 102885 | ||||
* | Clarify an assertion. | Anders Carlsson | 2010-04-11 | 1 | -1/+2 |
| | | | | llvm-svn: 100986 | ||||
* | Remove the old vtable layout code. | Anders Carlsson | 2010-03-30 | 1 | -3/+0 |
| | | | | llvm-svn: 99869 | ||||
* | Use the newly added function in the VTT builder. | Anders Carlsson | 2010-03-29 | 1 | -3/+2 |
| | | | | llvm-svn: 99799 | ||||
* | Fix thinko. | Anders Carlsson | 2010-03-29 | 1 | -1/+1 |
| | | | | llvm-svn: 99788 | ||||
* | Two bug fixes, we weren't updating the thunk index when creating the vtable ↵ | Anders Carlsson | 2010-03-29 | 1 | -0/+7 |
| | | | | | | initializer and we weren't storing the secondary virtual pointer indices. llvm-svn: 99786 | ||||
* | Add and implement CodeGenVTables::getSecondaryVirtualPointerIndex (not used ↵ | Anders Carlsson | 2010-03-26 | 1 | -9/+50 |
| | | | | | | yet). llvm-svn: 99608 | ||||
* | More cleanup. | Anders Carlsson | 2010-03-26 | 1 | -178/+47 |
| | | | | llvm-svn: 99605 | ||||
* | Way more VTT builder cleanup. | Anders Carlsson | 2010-03-26 | 1 | -28/+193 |
| | | | | llvm-svn: 99604 | ||||
* | More VTT builder cleanup. | Anders Carlsson | 2010-03-26 | 1 | -22/+31 |
| | | | | llvm-svn: 99588 | ||||
* | More VTT cleanup. | Anders Carlsson | 2010-03-26 | 1 | -22/+43 |
| | | | | llvm-svn: 99586 | ||||
* | Start cleaning up the VTT builder to make it work more like the VTable builder. | Anders Carlsson | 2010-03-26 | 1 | -51/+66 |
| | | | | llvm-svn: 99581 | ||||
* | Remove some VTT builder arguments that were always zero. | Anders Carlsson | 2010-03-26 | 1 | -20/+13 |
| | | | | llvm-svn: 99576 | ||||
* | More address point map shuffling. | Anders Carlsson | 2010-03-25 | 1 | -1/+1 |
| | | | | llvm-svn: 99462 | ||||
* | Shuffle some code around; this will make it easier to use the new layout ↵ | Anders Carlsson | 2010-03-25 | 1 | -32/+4 |
| | | | | | | code for address points. llvm-svn: 99461 |