John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								8f80a61914 
								
							 
						 
						
							
							
								
								Remove the -fhidden-weak-vtables -cc1 option.  It was dead,  
							
							 
							
							... 
							
							
							
							gross, and increasingly replaced through other mechanisms.
llvm-svn: 201011 
							
						 
						
							2014-02-08 00:41:16 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Kleckner
							
						 
						
							 
							
							
							
							
								
							
							
								b60a3d5bc1 
								
							 
						 
						
							
							
								
								Eliminate the ItaniumVTableContext object from CodeGenVTables  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2013-12-20 23:58:52 +00:00  
						
					 
				
					
						
							
							
								 
								Timur Iskhodzhanov
							
						 
						
							 
							
							
							
							
								
							
							
								5877663622 
								
							 
						 
						
							
							
								
								Fix vbtable indices when a class shares the vbptr with a non-virtual base  
							
							 
							
							... 
							
							
							
							llvm-svn: 194082 
							
						 
						
							2013-11-05 15:54:58 +00:00  
						
					 
				
					
						
							
							
								 
								Timur Iskhodzhanov
							
						 
						
							 
							
							
							
							
								
							
							
								6745522f89 
								
							 
						 
						
							
							
								
								Extract ABI-specific parts of MangleContext into separate classes  
							
							 
							
							... 
							
							
							
							Reviewed at http://llvm-reviews.chandlerc.com/D1807 
llvm-svn: 191878 
							
						 
						
							2013-10-03 06:26:13 +00:00  
						
					 
				
					
						
							
							
								 
								Timur Iskhodzhanov
							
						 
						
							 
							
							
							
							
								
							
							
								8b5987eba5 
								
							 
						 
						
							
							
								
								Abstract out the emission of vtables, add basic support for vtable emission when using -cxx-abi microsoft  
							
							 
							
							... 
							
							
							
							Reviewed at http://llvm-reviews.chandlerc.com/D1532 
llvm-svn: 191523 
							
						 
						
							2013-09-27 14:48:01 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								66f82e68c3 
								
							 
						 
						
							
							
								
								[ms-cxxabi] Move CodeGenVTables::needsVTTParameter to ItaniumCXXABI.  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2013-06-28 20:45:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ece0409a1a 
								
							 
						 
						
							
							
								
								simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.  
							
							 
							
							... 
							
							
							
							llvm-svn: 149943 
							
						 
						
							2012-02-07 00:39:47 +00:00  
						
					 
				
					
						
							
							
								 
								Dylan Noblesmith
							
						 
						
							 
							
							
							
							
								
							
							
								2c1dd2716a 
								
							 
						 
						
							
							
								
								Basic: import SmallString<> into clang namespace  
							
							 
							
							... 
							
							
							
							(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
llvm-svn: 149799 
							
						 
						
							2012-02-05 02:13:05 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								e35328c878 
								
							 
						 
						
							
							
								
								Remove obsolete debugging macro, make helper static.  
							
							 
							
							... 
							
							
							
							llvm-svn: 142730 
							
						 
						
							2011-10-22 19:16:39 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								affe111ba5 
								
							 
						 
						
							
							
								
								Move all vtable layout data into new VTableLayout class  
							
							 
							
							... 
							
							
							
							llvm-svn: 140506 
							
						 
						
							2011-09-26 01:56:50 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								5ee9ee490e 
								
							 
						 
						
							
							
								
								Move vtable component accessors to VTableContext  
							
							 
							
							... 
							
							
							
							llvm-svn: 140504 
							
						 
						
							2011-09-26 01:56:41 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								71c26936a0 
								
							 
						 
						
							
							
								
								Remove CodeGenVTables::ComputeVTableRelatedInformation dependency on CodeGen  
							
							 
							
							... 
							
							
							
							llvm-svn: 140503 
							
						 
						
							2011-09-26 01:56:36 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								2d2595235d 
								
							 
						 
						
							
							
								
								Move VTT builder to AST  
							
							 
							
							... 
							
							
							
							llvm-svn: 140501 
							
						 
						
							2011-09-26 01:56:24 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								2000e4ead5 
								
							 
						 
						
							
							
								
								Remove CodeGenModule field from VTTBuilder  
							
							 
							
							... 
							
							
							
							llvm-svn: 140499 
							
						 
						
							2011-09-26 01:56:10 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								d9eb79ca73 
								
							 
						 
						
							
							
								
								Make the VTTBuilder class independent of LLVM core  
							
							 
							
							... 
							
							
							
							llvm-svn: 140498 
							
						 
						
							2011-09-26 01:56:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0e62c1cc0b 
								
							 
						 
						
							
							
								
								remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports  
							
							 
							
							... 
							
							
							
							them into the clang namespace.
llvm-svn: 135852 
							
						 
						
							2011-07-23 10:55:15 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								ed8db7d9df 
								
							 
						 
						
							
							
								
								Convert ConstantExpr::getGetElementPtr and  
							
							 
							
							... 
							
							
							
							ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673 
							
						 
						
							2011-07-21 14:31:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2192fe50da 
								
							 
						 
						
							
							
								
								de-constify llvm::Type, patch by David Blaikie!  
							
							 
							
							... 
							
							
							
							llvm-svn: 135370 
							
						 
						
							2011-07-18 04:24:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								83be361b8a 
								
							 
						 
						
							
							
								
								Replace the existing forms of ConstantArray::get() with a single form  
							
							 
							
							... 
							
							
							
							that takes an ArrayRef.
llvm-svn: 133615 
							
						 
						
							2011-06-22 09:24:39 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d6f1518cc9 
								
							 
						 
						
							
							
								
								Fix another regression from the "skip vtable pointer initialization"  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2011-05-16 04:08:36 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								358d056c14 
								
							 
						 
						
							
							
								
								We were emitting construction v-tables with internal linkage all the time.  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2011-03-27 09:00:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ken Dyck
							
						 
						
							 
							
							
							
							
								
							
							
								16ffcac1a2 
								
							 
						 
						
							
							
								
								Convert the BaseOffset member of BaseSubobject to CharUnits from bits. No  
							
							 
							
							... 
							
							
							
							change in functionality intended.
llvm-svn: 128190 
							
						 
						
							2011-03-24 01:21:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3968cd0f7b 
								
							 
						 
						
							
							
								
								For consistency, use llvm::raw_ostream in the rest of the mangle api.  
							
							 
							
							... 
							
							
							
							llvm-svn: 125360 
							
						 
						
							2011-02-11 02:52:17 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								265aa7c070 
								
							 
						 
						
							
							
								
								Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag.  
							
							 
							
							... 
							
							
							
							llvm-svn: 124546 
							
						 
						
							2011-01-29 20:24:48 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								5963024ff6 
								
							 
						 
						
							
							
								
								Give VTTs the right visibility.  
							
							 
							
							... 
							
							
							
							llvm-svn: 124540 
							
						 
						
							2011-01-29 19:34:19 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								883fc72c3c 
								
							 
						 
						
							
							
								
								Make emitting a VTT a two-step process, much like emitting a VTable. You first get the address of the VTT, and then pass it to EmitVTTDefinition.  
							
							 
							
							... 
							
							
							
							llvm-svn: 124539 
							
						 
						
							2011-01-29 19:16:51 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								facb7d0ade 
								
							 
						 
						
							
							
								
								Also set unnamed_addr on declarations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123531 
							
						 
						
							2011-01-15 08:23:14 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d09776b945 
								
							 
						 
						
							
							
								
								Only add unnamed_addr to definitions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123354 
							
						 
						
							2011-01-13 01:12:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								bb7f7686c5 
								
							 
						 
						
							
							
								
								Set unnamed_addr in VTTs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123280 
							
						 
						
							2011-01-11 22:29:55 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								7f95cd1817 
								
							 
						 
						
							
							
								
								Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120133 
							
						 
						
							2010-11-24 23:12:57 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								fd88a6160d 
								
							 
						 
						
							
							
								
								Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117881 
							
						 
						
							2010-10-31 23:22:37 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								c273f24196 
								
							 
						 
						
							
							
								
								Better solution:  calculate the visibility of functions and variables  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-10-30 11:50:40 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								5d865c3292 
								
							 
						 
						
							
							
								
								Teach IR generation to return 'this' from constructors and destructors  
							
							 
							
							... 
							
							
							
							under the ARM ABI.
llvm-svn: 112588 
							
						 
						
							2010-08-31 07:33:07 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								ae498b3211 
								
							 
						 
						
							
							
								
								The global variable for the VTT might not have external linkage; allow  
							
							 
							
							... 
							
							
							
							us to find local variables, too. Fixes the last remaining
Boost.Rational failure.
llvm-svn: 103203 
							
						 
						
							2010-05-06 22:18:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								8bdbb5be19 
								
							 
						 
						
							
							
								
								Store the entire base subobject in SubVTTIndices.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102890 
							
						 
						
							2010-05-03 00:55:11 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								859b3064cb 
								
							 
						 
						
							
							
								
								Have getSubVTTIndex take a BaseSubobject instead of just a base.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102885 
							
						 
						
							2010-05-02 23:53:25 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								de0338abac 
								
							 
						 
						
							
							
								
								Clarify an assertion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100986 
							
						 
						
							2010-04-11 20:23:06 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								f141dd1b95 
								
							 
						 
						
							
							
								
								Remove the old vtable layout code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99869 
							
						 
						
							2010-03-30 03:43:47 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								2d016af623 
								
							 
						 
						
							
							
								
								Use the newly added function in the VTT builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99799 
							
						 
						
							2010-03-29 02:14:35 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								27d86bddfe 
								
							 
						 
						
							
							
								
								Fix thinko.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99788 
							
						 
						
							2010-03-29 01:12:13 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								8baeaf0a26 
								
							 
						 
						
							
							
								
								Two bug fixes, we weren't updating the thunk index when creating the vtable initializer and we weren't storing the secondary virtual pointer indices.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99786 
							
						 
						
							2010-03-29 01:04:16 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								f1a994ce33 
								
							 
						 
						
							
							
								
								Add and implement CodeGenVTables::getSecondaryVirtualPointerIndex (not used yet).  
							
							 
							
							... 
							
							
							
							llvm-svn: 99608 
							
						 
						
							2010-03-26 04:23:58 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								5670d96524 
								
							 
						 
						
							
							
								
								More cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99605 
							
						 
						
							2010-03-26 04:10:39 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								a208b3997d 
								
							 
						 
						
							
							
								
								Way more VTT builder cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99604 
							
						 
						
							2010-03-26 03:56:54 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								45bd753b4a 
								
							 
						 
						
							
							
								
								More VTT builder cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99588 
							
						 
						
							2010-03-26 00:58:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								c1b4747d5a 
								
							 
						 
						
							
							
								
								More VTT cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99586 
							
						 
						
							2010-03-26 00:50:17 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								e67698bd73 
								
							 
						 
						
							
							
								
								Start cleaning up the VTT builder to make it work more like the VTable builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99581 
							
						 
						
							2010-03-26 00:35:45 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								382a96550b 
								
							 
						 
						
							
							
								
								Remove some VTT builder arguments that were always zero.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99576 
							
						 
						
							2010-03-26 00:11:51 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d03325c54f 
								
							 
						 
						
							
							
								
								More address point map shuffling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99462 
							
						 
						
							2010-03-25 00:51:13 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								0534b0201e 
								
							 
						 
						
							
							
								
								Shuffle some code around; this will make it easier to use the new layout code for address points.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99461 
							
						 
						
							2010-03-25 00:35:49 +00:00