Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								07863b8b6e 
								
							 
						 
						
							
							
								
								Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. With this change, we can now compile and link TableGen.  
							
							 
							
							... 
							
							
							
							llvm-svn: 91520 
							
						 
						
							2009-12-16 07:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								fd7dfeb779 
								
							 
						 
						
							
							
								
								Improve linkage of RTTI data structures. Introduce 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 
							
						 
						
							2009-12-11 02:46:30 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								8174f2c23c 
								
							 
						 
						
							
							
								
								Work-in-progess rewrite of thunks: move thunk generation outside of vtable  
							
							 
							
							... 
							
							
							
							generation, and make sure we generate thunks when the function is defined
rather than when the vtable is defined.
llvm-svn: 90722 
							
						 
						
							2009-12-06 22:01:30 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								fe5f7d916f 
								
							 
						 
						
							
							
								
								Set the correct linkage for VTTs as well.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90689 
							
						 
						
							2009-12-06 01:09:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								7e28c5f2e2 
								
							 
						 
						
							
							
								
								Make GenerateVtable a private member function of CGVtableInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90684 
							
						 
						
							2009-12-06 00:01:05 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								551fe84d0e 
								
							 
						 
						
							
							
								
								Minor cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90411 
							
						 
						
							2009-12-03 04:27:05 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								e2d4a2c3a8 
								
							 
						 
						
							
							
								
								Add support for thunking dtors.  Oh why does this make my head hurt?  
							
							 
							
							... 
							
							
							
							llvm-svn: 90409 
							
						 
						
							2009-12-03 03:47:56 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								5f91fd64b6 
								
							 
						 
						
							
							
								
								Add CodeGenModule::ComputeThunkAdjustment, which Eli wrote.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90401 
							
						 
						
							2009-12-03 03:06:55 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								c01c2b87e8 
								
							 
						 
						
							
							
								
								Change rtti/Rtti to RTTI, as it is an acronym.  
							
							 
							
							... 
							
							
							
							llvm-svn: 90334 
							
						 
						
							2009-12-02 18:57:08 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								84a7e347bf 
								
							 
						 
						
							
							
								
								Simplify and fix up the handling of implicit constructors, copy assignment  
							
							 
							
							... 
							
							
							
							operators, and destructors.  Avoids generating declarations/definitions of
trivial constructors/destructors, and makes sure the trivial copy assignment
operator is generated when necessary.
llvm-svn: 89943 
							
						 
						
							2009-11-26 07:40:08 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								2f87c4f1a5 
								
							 
						 
						
							
							
								
								Add a CovariantThunkAdjustment struct that represents the adjustments needed for a covariant thunk.  
							
							 
							
							... 
							
							
							
							llvm-svn: 89933 
							
						 
						
							2009-11-26 03:09:37 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								c778540f9a 
								
							 
						 
						
							
							
								
								Add a ThunkAdjustment struct which holds a non-virtual and a virtual adjustment offset. Start using it. General cleanup in Mangle.cpp.  
							
							 
							
							... 
							
							
							
							llvm-svn: 89925 
							
						 
						
							2009-11-26 02:32:05 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								101f052faf 
								
							 
						 
						
							
							
								
								Simplify rtti building code a little.  Prep for reuse for throw rtti  
							
							 
							
							... 
							
							
							
							generation.
llvm-svn: 89416 
							
						 
						
							2009-11-20 00:31:50 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								3f75d552a3 
								
							 
						 
						
							
							
								
								Add typeid for the builtin types.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 89028 
							
						 
						
							2009-11-17 02:16:21 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								f5b2869b75 
								
							 
						 
						
							
							
								
								Finisgh off rest of class_type_info rtti generation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 88823 
							
						 
						
							2009-11-14 23:32:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								87f84c1e72 
								
							 
						 
						
							
							
								
								Move GlobalDecl to its own file. Also add DenseMapInfo traits.  
							
							 
							
							... 
							
							
							
							llvm-svn: 87081 
							
						 
						
							2009-11-13 04:25:07 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								83066c8dee 
								
							 
						 
						
							
							
								
								Allow the tracking of address points for construction vtables as well.  
							
							 
							
							... 
							
							
							
							llvm-svn: 87063 
							
						 
						
							2009-11-13 01:54:23 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								2cefe38365 
								
							 
						 
						
							
							
								
								Fix the offset calculations for non-virtual bases with overrides.  
							
							 
							
							... 
							
							
							
							Refine the VTT entries for virtual bases to refer to the complete
object's vtable instead of constructor vtables.
Refine the AddressPoint calculations for VTT entries for virtual bases.
llvm-svn: 87021 
							
						 
						
							2009-11-12 20:47:57 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								94f798c079 
								
							 
						 
						
							
							
								
								"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for locations and types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 87007 
							
						 
						
							2009-11-12 18:21:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								bc55fe26c6 
								
							 
						 
						
							
							
								
								Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library.  
							
							 
							
							... 
							
							
							
							This resolves the layering violation where CodeGen depended on Frontend.
llvm-svn: 86998 
							
						 
						
							2009-11-12 17:24:48 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								eac4559790 
								
							 
						 
						
							
							
								
								Push ctor vtable construction down further.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 86878 
							
						 
						
							2009-11-11 20:26:26 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								d846d0825b 
								
							 
						 
						
							
							
								
								Add vtable caching to prevent multiple vtables for the same class from  
							
							 
							
							... 
							
							
							
							being generated.
Add the most derived vtable pointer to the VTT.
llvm-svn: 86671 
							
						 
						
							2009-11-10 07:44:33 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								4127b8ef97 
								
							 
						 
						
							
							
								
								Added support for static variables which require  
							
							 
							
							... 
							
							
							
							initialization before main. Fixes pr5396.
llvm-svn: 86145 
							
						 
						
							2009-11-05 18:03:03 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								5b294f4330 
								
							 
						 
						
							
							
								
								Enable "debug info attached to an instruction" mode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83928 
							
						 
						
							2009-10-12 23:31:25 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								2bb27f53e0 
								
							 
						 
						
							
							
								
								Move the vtable builder to CGVtable.cpp, general cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83798 
							
						 
						
							2009-10-11 22:13:54 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								ff971e8bf4 
								
							 
						 
						
							
							
								
								Add a MangleContext and pass it to all mangle functions. It will be used for keeping state, such as identifiers assigned to anonymous structs as well as scope encoding.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83442 
							
						 
						
							2009-10-07 01:06:45 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								32bfb1ce8f 
								
							 
						 
						
							
							
								
								Move some functions from CodeGenFunctions to CodeGenModule so they can be used by CGExprConstant.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83263 
							
						 
						
							2009-10-03 14:56:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								ff0553ec61 
								
							 
						 
						
							
							
								
								Fix subtle bug in generating LLVM function declarations for builtin functions.  
							
							 
							
							... 
							
							
							
							The decl wasn't being passed down, which meant that function attributes were not
being set correctly. This is particularly important for ARM, since it wants to
override the calling convention. Instead we would emit the builtin with the
wrong calling convention, and instcombine would come along and merrily shred all
the calls to it. :)
llvm-svn: 81756 
							
						 
						
							2009-09-14 04:33:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ee7bd3b204 
								
							 
						 
						
							
							
								
								whitespace fix  
							
							 
							
							... 
							
							
							
							llvm-svn: 81644 
							
						 
						
							2009-09-12 22:45:21 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								0ef3479cb7 
								
							 
						 
						
							
							
								
								Change CodeGenModule::ConstructTypeAttributes to return the calling convention  
							
							 
							
							... 
							
							
							
							to use, and allow the ABI implementation to override the calling convention.
llvm-svn: 81593 
							
						 
						
							2009-09-12 00:59:20 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								80f6ac5a4f 
								
							 
						 
						
							
							
								
								Add basic covariant thunk generation support.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81585 
							
						 
						
							2009-09-11 23:25:56 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								73fcc95f0f 
								
							 
						 
						
							
							
								
								Pass GlobalDecls to GenerateCode and StartFunction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81485 
							
						 
						
							2009-09-11 00:07:24 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								38988d7ee0 
								
							 
						 
						
							
							
								
								Add stricter GlobalDecl constructors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81480 
							
						 
						
							2009-09-10 23:38:47 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								11289f4280 
								
							 
						 
						
							
							
								
								Remove tabs, and whitespace cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81346 
							
						 
						
							2009-09-09 15:08:12 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								453fe4285d 
								
							 
						 
						
							
							
								
								Install thunks later to fixup overrides.  Track space taken by vbase  
							
							 
							
							... 
							
							
							
							offsets better for thunk refinements.  Cleanups.  WIP.
llvm-svn: 81067 
							
						 
						
							2009-09-05 07:20:32 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								5a522353c3 
								
							 
						 
						
							
							
								
								Add overidding for methods for vtable building for the secondary  
							
							 
							
							... 
							
							
							
							vtables.  Add thunk generation.  WIP.
llvm-svn: 81014 
							
						 
						
							2009-09-04 18:27:16 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								07347353a0 
								
							 
						 
						
							
							
								
								Cleanups.  Move GenerateRtti to CodeGenModule.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79372 
							
						 
						
							2009-08-18 21:49:00 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d262eda6fc 
								
							 
						 
						
							
							
								
								Patch toward synthesizing non-trivial destructors. WIP  
							
							 
							
							... 
							
							
							
							llvm-svn: 79199 
							
						 
						
							2009-08-16 19:36:17 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								4985b33fd7 
								
							 
						 
						
							
							
								
								Patch to force synthesis of copy assignment operator  
							
							 
							
							... 
							
							
							
							function in the order according to c++03. ir-gen 
for copy assignment in the trivial case and the first
test case.
llvm-svn: 78938 
							
						 
						
							2009-08-13 21:09:41 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								9cd050ab07 
								
							 
						 
						
							
							
								
								LLVMContext is a class now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78691 
							
						 
						
							2009-08-11 17:46:57 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								b8be93fc92 
								
							 
						 
						
							
							
								
								Add support for global initializers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78515 
							
						 
						
							2009-08-08 23:24:23 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								40134e71be 
								
							 
						 
						
							
							
								
								More synthesis of copy constructors. Work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78402 
							
						 
						
							2009-08-07 20:22:40 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								758428f4e3 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78259 
							
						 
						
							2009-08-05 23:18:46 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								bc78a728ee 
								
							 
						 
						
							
							
								
								Add code to setup the vtable pointer in the constructor.  Work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77699 
							
						 
						
							2009-07-31 18:25:34 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								170229f68d 
								
							 
						 
						
							
							
								
								Update for LLVM API change, and contextify a bunch of related stuff.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75705 
							
						 
						
							2009-07-14 23:10:40 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								ae86c19e68 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75446 
							
						 
						
							2009-07-13 04:10:07 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								e8925dbc1d 
								
							 
						 
						
							
							
								
								Improve code generation for function template specializations:  
							
							 
							
							... 
							
							
							
							- Track implicit instantiations vs. the not-yet-supported explicit
  specializations
  - Give implicit instantiations of function templates (and member
  functions of class templates) linkonce_odr linkage.
  - Improve name mangling for function template specializations,
  including the template arguments of the instantiation and the return
  type of the function.
Note that our name-mangling is improved, but not correct: we still
don't mangle substitutions, although the manglings we produce can be
demangled.
llvm-svn: 74466 
							
						 
						
							2009-06-29 22:39:32 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								895771aa4b 
								
							 
						 
						
							
							
								
								Handle the edge case of a weak function with incomplete type correctly.  
							
							 
							
							... 
							
							
							
							Found by code inspection; I haven't seen this in real-world code.
llvm-svn: 72408 
							
						 
						
							2009-05-26 01:22:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e0be0dfced 
								
							 
						 
						
							
							
								
								push GlobalDecl through enough of the CodeGenModule interfaces  
							
							 
							
							... 
							
							
							
							to allow us to support generation of deferred ctors/dtors.
It looks like codegen isn't emitting a call to the dtor in 
member-functions.cpp:test2, but when it does, its body should
get emitted.
llvm-svn: 71594 
							
						 
						
							2009-05-12 21:21:08 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								dae1abc7ac 
								
							 
						 
						
							
							
								
								Refactor global decls to hold either a regular Decl or a CXXConstructorDecl + ctor type or a CXXDestructorDecl + dtor type.  
							
							 
							
							... 
							
							
							
							llvm-svn: 70962 
							
						 
						
							2009-05-05 04:44:02 +00:00