Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								f358972fdc 
								
							 
						 
						
							
							
								
								Add virtual adjustments for this for thunks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 85852 
							
						 
						
							2009-11-03 02:12:59 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								31e1d43729 
								
							 
						 
						
							
							
								
								Add basic codegen for thunks that return values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 85842 
							
						 
						
							2009-11-02 23:47:45 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								33ccd9e354 
								
							 
						 
						
							
							
								
								Refine codegen for thunks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 85839 
							
						 
						
							2009-11-02 23:22:01 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								29baa2b1ba 
								
							 
						 
						
							
							
								
								Minor cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 85434 
							
						 
						
							2009-10-28 21:07:28 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								f1639fffbc 
								
							 
						 
						
							
							
								
								Code gen for array construction - WIP  
							
							 
							
							... 
							
							
							
							llvm-svn: 85432 
							
						 
						
							2009-10-28 20:55:41 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								e4d94cee05 
								
							 
						 
						
							
							
								
								Code-gen for CXXZeroInitValueExpr AST passed  
							
							 
							
							... 
							
							
							
							as argument to a function call. Removes a FIXME.
llvm-svn: 84694 
							
						 
						
							2009-10-20 23:29:04 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								da21efb566 
								
							 
						 
						
							
							
								
								Implement derived-to-base AST/code gen. There is a  
							
							 
							
							... 
							
							
							
							FIXME in CGCXX.cpp that I would like Anders to
take a look at.
llvm-svn: 84265 
							
						 
						
							2009-10-16 19:20:59 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								6bfee8f3e3 
								
							 
						 
						
							
							
								
								Don't assume that the LHS and RHS of a member pointer expression is a DeclRefExpr. Fixes PR5177.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83986 
							
						 
						
							2009-10-13 17:41:28 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								a1b54fdbe1 
								
							 
						 
						
							
							
								
								Even more devirtualization cleverness.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83886 
							
						 
						
							2009-10-12 19:59:15 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								2a01709204 
								
							 
						 
						
							
							
								
								More devirtualization improvements.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83883 
							
						 
						
							2009-10-12 19:51:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								b61301f353 
								
							 
						 
						
							
							
								
								Devirtualize calls on temporaries. A().f() for example.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83882 
							
						 
						
							2009-10-12 19:45:47 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d7432dfb0a 
								
							 
						 
						
							
							
								
								Factor out devirtualization checking into a separate function and make it handle references correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83880 
							
						 
						
							2009-10-12 19:41:04 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								b5296558f1 
								
							 
						 
						
							
							
								
								If the base type of a member call is a record type we don't need to emit a virtual call.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83816 
							
						 
						
							2009-10-11 23:55:52 +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
							
						 
						
							 
							
							
							
							
								
							
							
								2295f31810 
								
							 
						 
						
							
							
								
								Change mangleCXXVtable and mangleCXXRtti to take CXXRecordDecls instead of QualTypes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83793 
							
						 
						
							2009-10-11 21:24:51 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								6ce51fdf43 
								
							 
						 
						
							
							
								
								Move our (non-existing) RTTI emission code into CGRtti.cpp. No functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83732 
							
						 
						
							2009-10-10 20:49:04 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								0d479e6653 
								
							 
						 
						
							
							
								
								Avoid warning.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83609 
							
						 
						
							2009-10-09 01:25:47 +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
							
						 
						
							 
							
							
							
							
								
							
							
								b703fd2216 
								
							 
						 
						
							
							
								
								Uncomment some commented out code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83428 
							
						 
						
							2009-10-06 23:02:00 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								c6d171ec77 
								
							 
						 
						
							
							
								
								Change GetAddressCXXOfBaseClass to use CXXBasePaths for calculating base class offsets. Fix the code to handle virtual bases as well.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83426 
							
						 
						
							2009-10-06 22:43:30 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								80ef6f1a46 
								
							 
						 
						
							
							
								
								Pass the right type to GetAddrOfFunction when getting functions for the VTable. Fixes PR5021.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83395 
							
						 
						
							2009-10-06 17:54:23 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								2ee3c011d9 
								
							 
						 
						
							
							
								
								Implement code generation of member function pointer calls. Fixes PR5121.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83271 
							
						 
						
							2009-10-03 19:43:08 +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  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								8f4fd60c47 
								
							 
						 
						
							
							
								
								Handle CXXMemberCallExprs that point to a static method. Fixes PR5093.  
							
							 
							
							... 
							
							
							
							llvm-svn: 83045 
							
						 
						
							2009-09-29 03:54:11 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								e7a2b48572 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/PR5090 .  
							
							 
							
							... 
							
							
							
							llvm-svn: 83035 
							
						 
						
							2009-09-29 00:50:50 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								52d78a518a 
								
							 
						 
						
							
							
								
								CodeGen for try statements. (We just emit the body for now).  
							
							 
							
							... 
							
							
							
							llvm-svn: 82910 
							
						 
						
							2009-09-27 18:58:34 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								8ccfcb51ee 
								
							 
						 
						
							
							
								
								Refactor the representation of qualifiers to bring ExtQualType out of the  
							
							 
							
							... 
							
							
							
							Type hierarchy.  Demote 'volatile' to extended-qualifier status.  Audit our
use of qualifiers and fix a few places that weren't dealing with qualifiers
quite right;  many more remain.
llvm-svn: 82705 
							
						 
						
							2009-09-24 19:53:00 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d49844b715 
								
							 
						 
						
							
							
								
								Add a new variant of EmitCXXAggrConstructorCall that takes a Value that holds the number of elements to construct, to be used when implementing new[].  
							
							 
							
							... 
							
							
							
							llvm-svn: 82602 
							
						 
						
							2009-09-23 02:45:36 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								cc52f65500 
								
							 
						 
						
							
							
								
								Move codegen of new and delete to CGCXXExpr.cpp  
							
							 
							
							... 
							
							
							
							llvm-svn: 82585 
							
						 
						
							2009-09-22 22:53:17 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								9dd450bb78 
								
							 
						 
						
							
							
								
								Change all the Type::getAsFoo() methods to specializations of Type::getAs().  
							
							 
							
							... 
							
							
							
							Several of the existing methods were identical to their respective
specializations, and so have been removed entirely.  Several more 'leaf'
optimizations were introduced.
The getAsFoo() methods which imposed extra conditions, like
getAsObjCInterfacePointerType(), have been left in place.
llvm-svn: 82501 
							
						 
						
							2009-09-21 23:43:11 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								f9c95be2f6 
								
							 
						 
						
							
							
								
								Generate more of the vbase virtual offset for covariant thunks.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 82253 
							
						 
						
							2009-09-18 19:06:35 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								ddf57d3df9 
								
							 
						 
						
							
							
								
								Remove an unnecessary FunctionDecl parameter to the synthesizing functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81759 
							
						 
						
							2009-09-14 05:32:02 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								8783737029 
								
							 
						 
						
							
							
								
								Handle delete where the class has a virtual destructor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81733 
							
						 
						
							2009-09-14 00:16:25 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								864d525533 
								
							 
						 
						
							
							
								
								Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a NullCheckValue argument (currently unused).  
							
							 
							
							... 
							
							
							
							llvm-svn: 81606 
							
						 
						
							2009-09-12 04:26:35 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								307408d2af 
								
							 
						 
						
							
							
								
								Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81604 
							
						 
						
							2009-09-12 03:29:09 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								97c7eda14a 
								
							 
						 
						
							
							
								
								Fix a crash when generating vtables that contain destructors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81587 
							
						 
						
							2009-09-12 00:00:29 +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
							
						 
						
							 
							
							
							
							
								
							
							
								ecf9bf0158 
								
							 
						 
						
							
							
								
								GlobalDecl doesn't have an explicit constructor anymore.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81481 
							
						 
						
							2009-09-10 23:43:36 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								1ca52689e7 
								
							 
						 
						
							
							
								
								Use the right GlobalDecl type for destructors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81398 
							
						 
						
							2009-09-09 23:17:18 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								e9766d559b 
								
							 
						 
						
							
							
								
								If a cast expression needs either a conversion function or a constructor to be called, generate implicit child expressions that call them.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81383 
							
						 
						
							2009-09-09 21:33:21 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								11289f4280 
								
							 
						 
						
							
							
								
								Remove tabs, and whitespace cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81346 
							
						 
						
							2009-09-09 15:08:12 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								e73d5ca9a8 
								
							 
						 
						
							
							
								
								Refine vcall offsets.  Cleanups.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81143 
							
						 
						
							2009-09-07 04:27:52 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								b82db12b35 
								
							 
						 
						
							
							
								
								Refine overrides and thunks for virtual bases.  Cleanups.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81080 
							
						 
						
							2009-09-05 11:28:33 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								c9eb1727db 
								
							 
						 
						
							
							
								
								Cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81078 
							
						 
						
							2009-09-05 09:24:43 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								69bbd6ce84 
								
							 
						 
						
							
							
								
								Cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81077 
							
						 
						
							2009-09-05 09:10:58 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								6363021ab9 
								
							 
						 
						
							
							
								
								Cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81075 
							
						 
						
							2009-09-05 08:47:24 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								3cdb051425 
								
							 
						 
						
							
							
								
								Cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81074 
							
						 
						
							2009-09-05 08:45:02 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								5e3ac0249c 
								
							 
						 
						
							
							
								
								Cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81073 
							
						 
						
							2009-09-05 08:40:18 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								ea8eea2c45 
								
							 
						 
						
							
							
								
								Cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81072 
							
						 
						
							2009-09-05 08:37:03 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								db14a73606 
								
							 
						 
						
							
							
								
								Cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81071 
							
						 
						
							2009-09-05 08:07:32 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								001ad31c9a 
								
							 
						 
						
							
							
								
								Cleanups.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81069 
							
						 
						
							2009-09-05 07:49: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  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								d94105a1c2 
								
							 
						 
						
							
							
								
								Don't generate any code for an explicit call to a trivial destructor.  
							
							 
							
							... 
							
							
							
							Now that parsing, semantic analysis, and (I think) code generation of
pseudo-destructor expressions and explicit destructor calls works,
update the example-dynarray.cpp test to destroy the objects it
allocates and update the test to actually compile + link.
The code seems correct, but the Clang-compiled version dies with a
malloc error. Time to debug!
llvm-svn: 81025 
							
						 
						
							2009-09-04 19:04:08 +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  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								35dca26835 
								
							 
						 
						
							
							
								
								Fix an assertion when initializing a union using a member initializer. (We weren't casting from the union type to the initializer type correctly).  
							
							 
							
							... 
							
							
							
							llvm-svn: 80837 
							
						 
						
							2009-09-02 21:14:47 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								2348e62498 
								
							 
						 
						
							
							
								
								More overriding base work and some cleanups.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80737 
							
						 
						
							2009-09-01 23:22:44 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								40dc64bcfc 
								
							 
						 
						
							
							
								
								Split out overriding.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80732 
							
						 
						
							2009-09-01 22:20:28 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								783ab50b33 
								
							 
						 
						
							
							
								
								Assert that we don't have any virtual bases. We can emit dtors for polymorphics classes just fune.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80722 
							
						 
						
							2009-09-01 21:12:16 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								6b8b4b459d 
								
							 
						 
						
							
							
								
								We can generate constructors/destructors with base classes and non-trivial fields just fine now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80701 
							
						 
						
							2009-09-01 18:33:46 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								96ee789d33 
								
							 
						 
						
							
							
								
								Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will  
							
							 
							
							... 
							
							
							
							also be adding explicit template arguments as an additional
"adornment". No functionality change.
llvm-svn: 80628 
							
						 
						
							2009-08-31 21:41:48 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								033e8d4ae6 
								
							 
						 
						
							
							
								
								Make IRGen for initializing a member reference work correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80439 
							
						 
						
							2009-08-29 20:58:20 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								beefdc8948 
								
							 
						 
						
							
							
								
								iGenerate vcalls as we build up the methods.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80405 
							
						 
						
							2009-08-28 23:22:54 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8b899e4247 
								
							 
						 
						
							
							
								
								ir-gen related patch for type conversion  
							
							 
							
							... 
							
							
							
							with class type conversion methods. WIP.
llvm-svn: 80365 
							
						 
						
							2009-08-28 15:11:24 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								a0d0e6fcb1 
								
							 
						 
						
							
							
								
								Fixup codegen for static dispatch to a virtual function that was  
							
							 
							
							... 
							
							
							
							almost correct.  :-)
llvm-svn: 80181 
							
						 
						
							2009-08-26 23:38:08 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								c71f094c08 
								
							 
						 
						
							
							
								
								ir-gen for type convesion of class objects. WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80178 
							
						 
						
							2009-08-26 23:31:30 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								c190523d7a 
								
							 
						 
						
							
							
								
								When a member reference expression includes a qualifier on the member  
							
							 
							
							... 
							
							
							
							name, e.g.,
  
  x->Base::f()
retain the qualifier (and its source range information) in a new
subclass of MemberExpr called CXXQualifiedMemberExpr. Provide
construction, transformation, profiling, printing, etc., for this new
expression type.
When a virtual function is called via a qualified name, don't emit a
virtual call. Instead, call that function directly. Mike, could you
add a CodeGen test for this, too?
llvm-svn: 80167 
							
						 
						
							2009-08-26 22:36:53 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								a5588bf3ac 
								
							 
						 
						
							
							
								
								Implement virtual dispatch.  :-) This is self-consistent with clang,  
							
							 
							
							... 
							
							
							
							but not yet necessarily perfectly consistent with gcc.  Also addressed
Doug and John's comments.
llvm-svn: 80137 
							
						 
						
							2009-08-26 20:46:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								458055a890 
								
							 
						 
						
							
							
								
								Revert r80064 since it broke the build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80066 
							
						 
						
							2009-08-26 03:30:14 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								fbddfdacdc 
								
							 
						 
						
							
							
								
								Implement virtual dispatch.  :-)  This is self-consistent with clang, but not yet  
							
							 
							
							... 
							
							
							
							necessarily perfectly consistent with gcc.
llvm-svn: 80064 
							
						 
						
							2009-08-26 01:54:35 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								2c73b1d2a2 
								
							 
						 
						
							
							
								
								Simplified default construction of array data members  
							
							 
							
							... 
							
							
							
							in the constructor prologue.
llvm-svn: 80060 
							
						 
						
							2009-08-26 00:23:27 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								9cedbefb24 
								
							 
						 
						
							
							
								
								Add a -fno-elide-constructors option to clang-cc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79782 
							
						 
						
							2009-08-22 22:30:33 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								0b8c5ae7af 
								
							 
						 
						
							
							
								
								Calculate the address point for a vtable better, and start fleshing out the vcall  
							
							 
							
							... 
							
							
							
							calculations better.
llvm-svn: 79687 
							
						 
						
							2009-08-21 23:09:30 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8adc973483 
								
							 
						 
						
							
							
								
								Patch to ir-gen copy assigning array members when synthesizing  
							
							 
							
							... 
							
							
							
							a copy assignment operator function.
llvm-svn: 79681 
							
						 
						
							2009-08-21 22:34:55 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								5626384384 
								
							 
						 
						
							
							
								
								Patch to provide ir-gen support in copying array members  
							
							 
							
							... 
							
							
							
							when synthesizing a copy constructor. Arrays's base element
may have a trivial or non-trivial copy constructor.
llvm-svn: 79653 
							
						 
						
							2009-08-21 18:30:26 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7481bd88bb 
								
							 
						 
						
							
							
								
								Array member construction in prologue of user-declared  
							
							 
							
							... 
							
							
							
							constructors.
llvm-svn: 79640 
							
						 
						
							2009-08-21 17:09:38 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								6c9e5a2b9e 
								
							 
						 
						
							
							
								
								Introduce getConstantArrayElementCount API and use it in  
							
							 
							
							... 
							
							
							
							construction/destruction of array members.
llvm-svn: 79637 
							
						 
						
							2009-08-21 16:31:06 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								a002945a20 
								
							 
						 
						
							
							
								
								We now support overriding base functions in vtables.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79587 
							
						 
						
							2009-08-21 01:45:00 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								1a606ab12a 
								
							 
						 
						
							
							
								
								Patch to ir-gen destruction of array member elements in revers order  
							
							 
							
							... 
							
							
							
							of their construction.
llvm-svn: 79571 
							
						 
						
							2009-08-20 23:02:58 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								9c83720d17 
								
							 
						 
						
							
							
								
								ir-gen patch to destruct array members. WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79565 
							
						 
						
							2009-08-20 20:54:15 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								cae6178b3b 
								
							 
						 
						
							
							
								
								Refine vbase offsets for the inductive case.  Things are now starting  
							
							 
							
							... 
							
							
							
							to come together nicely.  Still a WIP.
llvm-svn: 79521 
							
						 
						
							2009-08-20 07:22:17 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								2220447adc 
								
							 
						 
						
							
							
								
								Ensure we don't output repeated vbase offsets.  I have a testcase for  
							
							 
							
							... 
							
							
							
							this, but need to fixup the actual offset value before I can check it
in.  WIP.
llvm-svn: 79506 
							
						 
						
							2009-08-20 02:11:48 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								dd46eb770f 
								
							 
						 
						
							
							
								
								Test case for my last patch plus a minor clean up.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79500 
							
						 
						
							2009-08-20 01:01:06 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								eeb0e57247 
								
							 
						 
						
							
							
								
								ir-gen for multi-dimensional array construction. WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79497 
							
						 
						
							2009-08-20 00:15:15 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								a8fe2c26a8 
								
							 
						 
						
							
							
								
								Removed unneeded code for break/continue statements in  
							
							 
							
							... 
							
							
							
							manufactured for-loop per Anders feedback (thanks).
- Fariborz
llvm-svn: 79466 
							
						 
						
							2009-08-19 21:10:38 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								431c883287 
								
							 
						 
						
							
							
								
								ir-gen for constructing arrays as non-static data members. WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79464 
							
						 
						
							2009-08-19 20:55:16 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								58bc48c14e 
								
							 
						 
						
							
							
								
								Switch to SmallString::str from SmallString::c_str.  
							
							 
							
							... 
							
							
							
							- Several FIXMEs due to non-Twinification of IRBuilder.
llvm-svn: 79455 
							
						 
						
							2009-08-19 20:04:03 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								3bc0a3bf7d 
								
							 
						 
						
							
							
								
								One second thought, I think I want to limit this class to just vtable  
							
							 
							
							... 
							
							
							
							building activities.
llvm-svn: 79438 
							
						 
						
							2009-08-19 18:10:47 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								b386941208 
								
							 
						 
						
							
							
								
								Cleanup: fold IndirectPrimary into builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79423 
							
						 
						
							2009-08-19 14:40:47 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								3b09f004db 
								
							 
						 
						
							
							
								
								We don't want to confuse this layout with the BLayout from the builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79422 
							
						 
						
							2009-08-19 14:06:50 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								984c99d190 
								
							 
						 
						
							
							
								
								Restore vbase offsets for classes without a primary.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79402 
							
						 
						
							2009-08-19 02:53:08 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								583ef62149 
								
							 
						 
						
							
							
								
								Refine vcalls a little.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79400 
							
						 
						
							2009-08-19 02:06:38 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								6fe6ca11da 
								
							 
						 
						
							
							
								
								Cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79374 
							
						 
						
							2009-08-18 22:04:08 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								07347353a0 
								
							 
						 
						
							
							
								
								Cleanups.  Move GenerateRtti to CodeGenModule.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79372 
							
						 
						
							2009-08-18 21:49:00 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								ee81dca8c7 
								
							 
						 
						
							
							
								
								Move the rest of the vtable building code into the new builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79370 
							
						 
						
							2009-08-18 21:30:21 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								1f18b9a301 
								
							 
						 
						
							
							
								
								Suck up method generation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79367 
							
						 
						
							2009-08-18 21:03:28 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								5cb34077ef 
								
							 
						 
						
							
							
								
								Split out vtable bulding code into a builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79366 
							
						 
						
							2009-08-18 20:50:28 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d172e91f2a 
								
							 
						 
						
							
							
								
								Patch to 1) synthesizing non-trivial default destructor when  
							
							 
							
							... 
							
							
							
							one is not provided by user. 2) More complete
emission of ctor prologue when it has no initializer
list or when it is synthesized.
llvm-svn: 79269 
							
						 
						
							2009-08-17 19:04:50 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								49033712e4 
								
							 
						 
						
							
							
								
								Remove an ErrorUnsupported call.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79261 
							
						 
						
							2009-08-17 18:24:57 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								81f0df9601 
								
							 
						 
						
							
							
								
								Improve handling of delete expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79205 
							
						 
						
							2009-08-16 21:13:42 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								22ea1f8a30 
								
							 
						 
						
							
							
								
								Cleanups and fixups for calculating the virtual base offsets.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79156 
							
						 
						
							2009-08-16 01:46:26 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								0aed0225b4 
								
							 
						 
						
							
							
								
								Improved on ir-gen for synthesis of non-trivial default  
							
							 
							
							... 
							
							
							
							constructor body whose class has non-static data-members which
required non-trivial construction.
llvm-svn: 79125 
							
						 
						
							2009-08-15 18:55:17 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								42af5ba7b7 
								
							 
						 
						
							
							
								
								ir-gen for generation of trvial copy constructor  
							
							 
							
							... 
							
							
							
							call.
llvm-svn: 79034 
							
						 
						
							2009-08-14 20:11:43 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								bcf756cbac 
								
							 
						 
						
							
							
								
								Deconflate virtual base offsets from non-virtual base offsets.  
							
							 
							
							... 
							
							
							
							Deconflate a virtual base primary from a non-virtual base.
llvm-svn: 78971 
							
						 
						
							2009-08-14 01:44:03 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								92b3f47de2 
								
							 
						 
						
							
							
								
								Fixed a bug in ir-gen for copy assignment synthesis.  
							
							 
							
							... 
							
							
							
							Fixed a bug when evaluating those copy-assignments
which need by lazily syntheized. A test case
for these.
llvm-svn: 78965 
							
						 
						
							2009-08-14 00:01:54 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								c2f591b1e6 
								
							 
						 
						
							
							
								
								Refine vtable layout for virtual bases and keep better track of  
							
							 
							
							... 
							
							
							
							primaries.  WIP.
llvm-svn: 78950 
							
						 
						
							2009-08-13 22:53:07 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								41a750271b 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78946 
							
						 
						
							2009-08-13 21:57:51 +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  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								2631d8c517 
								
							 
						 
						
							
							
								
								Minor cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78927 
							
						 
						
							2009-08-13 18:39:54 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								1300754fdd 
								
							 
						 
						
							
							
								
								Prep for vbase layout refinements.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78882 
							
						 
						
							2009-08-13 02:02:14 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								9b630c3040 
								
							 
						 
						
							
							
								
								Minor refactoring of copy assign operator ir-gen. SWIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78875 
							
						 
						
							2009-08-13 00:53:36 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								bbd5e8c2cf 
								
							 
						 
						
							
							
								
								More toward synthesizing copy assignments. SWIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78861 
							
						 
						
							2009-08-12 23:34:46 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								b661738203 
								
							 
						 
						
							
							
								
								Cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78858 
							
						 
						
							2009-08-12 23:25:18 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								938f15b033 
								
							 
						 
						
							
							
								
								Refactor.  WIP.  Eventually, this will all go into a vtable builder class.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78857 
							
						 
						
							2009-08-12 23:14:12 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								480212253a 
								
							 
						 
						
							
							
								
								Cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78855 
							
						 
						
							2009-08-12 23:03:28 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								82165efbc4 
								
							 
						 
						
							
							
								
								Refactor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78854 
							
						 
						
							2009-08-12 23:00:59 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								dc94d3fd27 
								
							 
						 
						
							
							
								
								Refactor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78851 
							
						 
						
							2009-08-12 22:34:12 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								de7d4c264a 
								
							 
						 
						
							
							
								
								Patch for synthesizing copy assignment operator.  
							
							 
							
							... 
							
							
							
							WIP.
llvm-svn: 78841 
							
						 
						
							2009-08-12 21:14:35 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								9deb22b850 
								
							 
						 
						
							
							
								
								Improve the secondary vtables to not include vbase offsets.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78831 
							
						 
						
							2009-08-12 18:50:26 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								cecfe61cd1 
								
							 
						 
						
							
							
								
								Refine vtable building for the secondary vtables to exclude yet more  
							
							 
							
							... 
							
							
							
							cases where a virtual base was already used as a primary base class.
WIP.
llvm-svn: 78820 
							
						 
						
							2009-08-12 17:42:21 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								b2197042b8 
								
							 
						 
						
							
							
								
								ir-gen support for anonymous union data member  
							
							 
							
							... 
							
							
							
							copying in copy constructors and used in
default constructor's initializer list.
llvm-svn: 78700 
							
						 
						
							2009-08-11 18:49:54 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								78696a70bf 
								
							 
						 
						
							
							
								
								Implement more of the inductive case for vtable layout involving  
							
							 
							
							... 
							
							
							
							virtual base primaries and improve the layout of classes with virtual
bases.  WIP.
Hey, I've decided I want a change to FileCheck, I need to ensure that
the group is together, nothing in between.  Can we change it to check
the match line is from the line immediately following the last matched
line, if the source for the matched line is immediately after the
source for the previously matched line?
// CHECK: 1
// CHECK: 2
// CHECK: 3
// CHECK: 4
// CHECK: 5
// CHECK: 6
would require 1 2 and 3 to be continuous in the output, and 4 5 and 6
to be continuous.
llvm-svn: 78638 
							
						 
						
							2009-08-11 04:03:59 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								296584b2a9 
								
							 
						 
						
							
							
								
								Support for anonymous union in ctor's initializer and  
							
							 
							
							... 
							
							
							
							bunch of FIXMEs for their is-gen.
llvm-svn: 78623 
							
						 
						
							2009-08-10 23:56:17 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								9d3405ceab 
								
							 
						 
						
							
							
								
								minor refactoring. No change otherwise.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78582 
							
						 
						
							2009-08-10 18:46:38 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7cc52cf09f 
								
							 
						 
						
							
							
								
								ir-gen for generating copying of scalar data members in  
							
							 
							
							... 
							
							
							
							a synthesized copy constructor.
llvm-svn: 78580 
							
						 
						
							2009-08-10 18:34:26 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								2a26e351fc 
								
							 
						 
						
							
							
								
								Fixed a ir-gen bug in synthesizing copy constructors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78570 
							
						 
						
							2009-08-10 17:20:45 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								b57e5d2f4f 
								
							 
						 
						
							
							
								
								Older GCCs don't have vector::data().  
							
							 
							
							... 
							
							
							
							llvm-svn: 78519 
							
						 
						
							2009-08-08 23:43:26 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								24f38969d5 
								
							 
						 
						
							
							
								
								ir-gen for initialization, in synthesize copy constructor,  
							
							 
							
							... 
							
							
							
							of base/field which have trivial copy constructor.
llvm-svn: 78516 
							
						 
						
							2009-08-08 23:32:22 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								b8be93fc92 
								
							 
						 
						
							
							
								
								Add support for global initializers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78515 
							
						 
						
							2009-08-08 23:24:23 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								f40886acca 
								
							 
						 
						
							
							
								
								Refactor some code and implement support for global destructors for static variables.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78507 
							
						 
						
							2009-08-08 21:45:14 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								f6bda5d61e 
								
							 
						 
						
							
							
								
								Refactoring of copy ctor ir-gen. No change in functionality.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78489 
							
						 
						
							2009-08-08 19:31:03 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7c3d7f6c59 
								
							 
						 
						
							
							
								
								Remove use of uninitized variable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78448 
							
						 
						
							2009-08-08 00:59:58 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								59b3259284 
								
							 
						 
						
							
							
								
								Synthesize copying of non-static data members with  
							
							 
							
							... 
							
							
							
							non-trivial copy constructors.
llvm-svn: 78445 
							
						 
						
							2009-08-08 00:15:41 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								b68df0bc42 
								
							 
						 
						
							
							
								
								Synthesized copy constructor now generates code for  
							
							 
							
							... 
							
							
							
							copying non-virtual base classes which have non-trivial
constructor. Work in progress.
llvm-svn: 78436 
							
						 
						
							2009-08-07 23:51:33 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								16644668cd 
								
							 
						 
						
							
							
								
								Add vbase offsets to the vtable.  Wow, having an rbegin was so  
							
							 
							
							... 
							
							
							
							fortuitous.  WIP.
llvm-svn: 78413 
							
						 
						
							2009-08-07 21:54:03 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								40134e71be 
								
							 
						 
						
							
							
								
								More synthesis of copy constructors. Work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78402 
							
						 
						
							2009-08-07 20:22:40 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								a4d94b1a95 
								
							 
						 
						
							
							
								
								Fix typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78401 
							
						 
						
							2009-08-07 20:14:05 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								c266c6d797 
								
							 
						 
						
							
							
								
								Add ability to generate vcall offsets for primary virtual base.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78396 
							
						 
						
							2009-08-07 19:00:50 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								b93185d05a 
								
							 
						 
						
							
							
								
								Fix some const_cast issues.  This is the beginning of the rabbit hole.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78393 
							
						 
						
							2009-08-07 18:05:12 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								7c32eab164 
								
							 
						 
						
							
							
								
								Add support for vcall generation for vtables for virtual bases.  WIP.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78357 
							
						 
						
							2009-08-06 23:48:32 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								3e62d00271 
								
							 
						 
						
							
							
								
								Also generate the rtti field for virtual bases for vtables.  Turn on  
							
							 
							
							... 
							
							
							
							rtti so we can properly test it.  Refactor code a little.  Still a
work in progress.
llvm-svn: 78343 
							
						 
						
							2009-08-06 21:49:36 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								001309371e 
								
							 
						 
						
							
							
								
								Set and use Elidable in elimination of copy ctors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78331 
							
						 
						
							2009-08-06 19:12:38 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								2d8d655922 
								
							 
						 
						
							
							
								
								Layout the primary base first in the vtable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78327 
							
						 
						
							2009-08-06 18:05:22 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								c255f3581a 
								
							 
						 
						
							
							
								
								More layout for virtual tables for virtual bases.  Still in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78314 
							
						 
						
							2009-08-06 15:50:11 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								6b2556f829 
								
							 
						 
						
							
							
								
								Layout virtual bases.  Work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78308 
							
						 
						
							2009-08-06 13:41:24 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								eb869768f9 
								
							 
						 
						
							
							
								
								Patch to optimize away copy constructor call when  
							
							 
							
							... 
							
							
							
							appropriate.
llvm-svn: 78267 
							
						 
						
							2009-08-06 01:02:49 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								a19718af5a 
								
							 
						 
						
							
							
								
								Refactor some bits.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78254 
							
						 
						
							2009-08-05 22:59:44 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								d8fe7b2792 
								
							 
						 
						
							
							
								
								Calculate the primary base class better and use that when laying down  
							
							 
							
							... 
							
							
							
							the vtable.  Still a work in progress.
llvm-svn: 78252 
							
						 
						
							2009-08-05 22:37:18 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								9beac787c1 
								
							 
						 
						
							
							
								
								vtable building for simple inheritance.  Still in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78110 
							
						 
						
							2009-08-04 21:58:42 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								7551d05358 
								
							 
						 
						
							
							
								
								Will I ever get used to CamelCase?  Will I ever like capitols for  
							
							 
							
							... 
							
							
							
							random variables?
  --This line, and those below, will be ignored--
M    lib/CodeGen/CGCXX.cpp
llvm-svn: 78094 
							
						 
						
							2009-08-04 20:06:48 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								183c3d2f59 
								
							 
						 
						
							
							
								
								Add beginnigs of rtti generation, wire up more of -fno-exceptions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77751 
							
						 
						
							2009-07-31 23:15:31 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								67829f6493 
								
							 
						 
						
							
							
								
								And now we can generate a simple vtable.  Still a work in progress...  
							
							 
							
							... 
							
							
							
							llvm-svn: 77737 
							
						 
						
							2009-07-31 21:43:43 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								0b75f23b94 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77722 
							
						 
						
							2009-07-31 20:28:54 +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
							
						 
						
							 
							
							
							
							
								
							
							
								7ec07a573c 
								
							 
						 
						
							
							
								
								Update for LLVM API changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77638 
							
						 
						
							2009-07-30 23:11:26 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								658fe02d17 
								
							 
						 
						
							
							
								
								Canonicalize else spacing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77629 
							
						 
						
							2009-07-30 22:28:39 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								a523b2d7a0 
								
							 
						 
						
							
							
								
								Note some other limitations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77626 
							
						 
						
							2009-07-30 21:47:44 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								aa01d2a532 
								
							 
						 
						
							
							
								
								Patch for future ir-gen for destructor calls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77608 
							
						 
						
							2009-07-30 17:49:11 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d375454dcf 
								
							 
						 
						
							
							
								
								ir-gen for nested non-virtual base member access  
							
							 
							
							... 
							
							
							
							in current class.
llvm-svn: 77554 
							
						 
						
							2009-07-30 00:10:25 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								9793f0e4d7 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77514 
							
						 
						
							2009-07-29 22:16:19 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c23c7e6a51 
								
							 
						 
						
							
							
								
								Change uses of:  
							
							 
							
							... 
							
							
							
							Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
  Type::getAsRecordType() -> Type::getAs<RecordType>()
  Type::getAsPointerType() -> Type::getAs<PointerType>()
  Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>()
  Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>()
  Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>()
  Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>()
  Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
  Type::getAsTagType() -> Type::getAs<TagType>()
  
And remove Type::getAsReferenceType(), etc.
This change is similar to one I made a couple weeks ago, but that was partly
reverted pending some additional design discussion. With Doug's pending smart
pointer changes for Types, it seemed natural to take this approach.
llvm-svn: 77510 
							
						 
						
							2009-07-29 21:53:49 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								72b1f24bd2 
								
							 
						 
						
							
							
								
								Use the existing API for base offset. Use suitable llvm type  
							
							 
							
							... 
							
							
							
							for offset ir-gen.
llvm-svn: 77458 
							
						 
						
							2009-07-29 15:54:56 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								a399dfae19 
								
							 
						 
						
							
							
								
								More cleanup of data member access and then some.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77351 
							
						 
						
							2009-07-28 18:54:57 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								b77659f4ae 
								
							 
						 
						
							
							
								
								Some code cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77339 
							
						 
						
							2009-07-28 18:09:28 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								5142fbd02e 
								
							 
						 
						
							
							
								
								More work toward data member access ir-gen.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77332 
							
						 
						
							2009-07-28 17:38:28 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								dedf1e4b1a 
								
							 
						 
						
							
							
								
								ir-gen for non-virtual base class initialization  
							
							 
							
							... 
							
							
							
							in constructors.
llvm-svn: 77087 
							
						 
						
							2009-07-25 21:12:28 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								b7a2fe6f81 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77012 
							
						 
						
							2009-07-24 23:12:58 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								2a1b5af130 
								
							 
						 
						
							
							
								
								More work toward initialization of objects  
							
							 
							
							... 
							
							
							
							in constructors.
llvm-svn: 76980 
							
						 
						
							2009-07-24 17:57:02 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								83381cc9a6 
								
							 
						 
						
							
							
								
								Move EmitCtorPrologue to CGCXX. Add an assert and FIXMEs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76498 
							
						 
						
							2009-07-20 23:18:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8a286fbdb9 
								
							 
						 
						
							
							
								
								Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods  
							
							 
							
							... 
							
							
							
							until Doug Gregor's Type smart pointer code lands (or more discussion occurs).
These methods just call the new Type::getAs<XXX> methods, so we still have
reduced implementation redundancy. Having explicit getAsXXXType() methods makes
it easier to set breakpoints in the debugger.
llvm-svn: 76193 
							
						 
						
							2009-07-17 17:50:17 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b825c0ddc5 
								
							 
						 
						
							
							
								
								Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76139 
							
						 
						
							2009-07-17 01:20:38 +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  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c10c8d3e2b 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75028 
							
						 
						
							2009-07-08 19:05:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								9f211fb4fa 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74986 
							
						 
						
							2009-07-08 01:29:18 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								cfbfe78e9e 
								
							 
						 
						
							
							
								
								De-ASTContext-ify DeclContext.  
							
							 
							
							... 
							
							
							
							Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
llvm-svn: 74506 
							
						 
						
							2009-06-30 02:36:12 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								82aea737a7 
								
							 
						 
						
							
							
								
								Move code generation of C++ temporaries into a new file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72792 
							
						 
						
							2009-06-03 18:40:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								fa7c608ecc 
								
							 
						 
						
							
							
								
								Fix a thinko.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72679 
							
						 
						
							2009-06-01 00:26:14 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								ca50119a31 
								
							 
						 
						
							
							
								
								Check for null correctly for new expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72678 
							
						 
						
							2009-06-01 00:05:16 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								cba81fc4de 
								
							 
						 
						
							
							
								
								Improve irgen of 'new' further.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72677 
							
						 
						
							2009-05-31 21:53:59 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								96c012ff8b 
								
							 
						 
						
							
							
								
								...and aggregate POD types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72676 
							
						 
						
							2009-05-31 21:12:26 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								60d0c2c1c2 
								
							 
						 
						
							
							
								
								Support for complex types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72675 
							
						 
						
							2009-05-31 21:07:58 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								ec71f61608 
								
							 
						 
						
							
							
								
								Better support for scalar POD types in 'new' expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72674 
							
						 
						
							2009-05-31 20:56:36 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								1832f52b10 
								
							 
						 
						
							
							
								
								Very basic irgen support for new expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72672 
							
						 
						
							2009-05-31 20:21:44 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								4a7b49b56a 
								
							 
						 
						
							
							
								
								Add a new function for emitting new functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72656 
							
						 
						
							2009-05-31 01:40:14 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								8eb93e72f7 
								
							 
						 
						
							
							
								
								Emit destructors correctly for temporaries.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72655 
							
						 
						
							2009-05-31 00:34:10 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								3be22e27b6 
								
							 
						 
						
							
							
								
								More temporary support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72648 
							
						 
						
							2009-05-30 23:23:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								0a63741a3f 
								
							 
						 
						
							
							
								
								Add code for emitting C++ destructors. Not used yet.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72591 
							
						 
						
							2009-05-29 21:03:38 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								4034a95dc8 
								
							 
						 
						
							
							
								
								Handle operator call expressions where the callee is a member function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72458 
							
						 
						
							2009-05-27 04:18:27 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								6f5a015bd9 
								
							 
						 
						
							
							
								
								Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't support anything but at least we don't crash ;)  
							
							 
							
							... 
							
							
							
							llvm-svn: 72147 
							
						 
						
							2009-05-20 00:24:07 +00:00  
						
					 
				
					
						
							
							
								 
								Mike Stump
							
						 
						
							 
							
							
							
							
								
							
							
								18bb9284ff 
								
							 
						 
						
							
							
								
								Reflow some comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 71937 
							
						 
						
							2009-05-16 07:57: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
							
						 
						
							 
							
							
							
							
								
							
							
								bd7d11f770 
								
							 
						 
						
							
							
								
								Factor code that's common to EmitCXXMemberCallExpr and EmitCXXConstructorCall out into a EmitCXXMemberCall function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 71514 
							
						 
						
							2009-05-11 23:37: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  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								1619a5041c 
								
							 
						 
						
							
							
								
								Make codegen for constructors work again.  
							
							 
							
							... 
							
							
							
							llvm-svn: 70785 
							
						 
						
							2009-05-03 17:47:16 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								4ac533dc90 
								
							 
						 
						
							
							
								
								We can now call member functions where the base is a pointer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 70579 
							
						 
						
							2009-05-01 21:55:16 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								eaa28f7e18 
								
							 
						 
						
							
							
								
								Add support for generating (very basic) C++ destructors. These aren't called by anything yet.  
							
							 
							
							... 
							
							
							
							llvm-svn: 69343 
							
						 
						
							2009-04-17 01:58:57 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								b7f8f594f3 
								
							 
						 
						
							
							
								
								Implement basic code generation of constructor calls. We can now compile:  
							
							 
							
							... 
							
							
							
							struct S {
S(int, int);
};
void f() {
S s(10, 10);
}
llvm-svn: 69330 
							
						 
						
							2009-04-17 00:06:03 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								e8eeffdf16 
								
							 
						 
						
							
							
								
								Add GetAddrOfCXXConstructor and use it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 69328 
							
						 
						
							2009-04-16 23:57:24 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								617482c666 
								
							 
						 
						
							
							
								
								Actually generate code for the simple constructors we know we can generate code for.  
							
							 
							
							... 
							
							
							
							llvm-svn: 69222 
							
						 
						
							2009-04-15 21:02:13 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								f747524819 
								
							 
						 
						
							
							
								
								Start attempting to generate code for C++ ctors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 69168 
							
						 
						
							2009-04-15 15:55:24 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								a5d077df73 
								
							 
						 
						
							
							
								
								Support code generation of 'this' exprs  
							
							 
							
							... 
							
							
							
							llvm-svn: 69050 
							
						 
						
							2009-04-14 16:58:56 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								1235bbce7e 
								
							 
						 
						
							
							
								
								Use the new guard variable mangling function and get rid of the old code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 68971 
							
						 
						
							2009-04-13 18:03:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								479e6fc7a7 
								
							 
						 
						
							
							
								
								Use the new EmitCallArgs function. No indented functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 68652 
							
						 
						
							2009-04-08 23:13:16 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								03a409feda 
								
							 
						 
						
							
							
								
								We weren't generating correct code for calls to variadic member functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 68635 
							
						 
						
							2009-04-08 20:31:57 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								2266e244b5 
								
							 
						 
						
							
							
								
								Simplify C++ member function calls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 68451 
							
						 
						
							2009-04-06 17:45:20 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								e5fd6f2227 
								
							 
						 
						
							
							
								
								Add support for calling C++ member functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 68412 
							
						 
						
							2009-04-03 22:50:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								22a87f94a9 
								
							 
						 
						
							
							
								
								Pull COdeGenFunction::CreateStaticBlockVarDecl (just for creating the  
							
							 
							
							... 
							
							
							
							global variable) out of GenerateStaticBlockVarDecl. 
 - No intended functionality change.
 - Prep for some mild cleanups and PR3662.
llvm-svn: 65466 
							
						 
						
							2009-02-25 19:24:29 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								ffca3a21f1 
								
							 
						 
						
							
							
								
								Provide a new kind of iterator, the specific_decl_iterator, that  
							
							 
							
							... 
							
							
							
							filters the decls seen by decl_iterator with two criteria: the dynamic
type of the declaration and a run-time predicate described by a member
function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl
considerably. It has no measurable performance impact.
llvm-svn: 61994 
							
						 
						
							2009-01-09 17:18:27 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								c8a590dda3 
								
							 
						 
						
							
							
								
								Warning fixes to operator precedence warnings.  
							
							 
							
							... 
							
							
							
							Someone should double-check that I didn't somehow break ObjC 
serialization; I think the change there actually changes the semantics.
llvm-svn: 61098 
							
						 
						
							2008-12-16 20:06:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e4b95698df 
								
							 
						 
						
							
							
								
								Rename Selector::getName() to Selector::getAsString(), and add  
							
							 
							
							... 
							
							
							
							a new NamedDecl::getAsString() method.
Change uses of Selector::getName() to just pass in a Selector 
where possible (e.g. to diagnostics) instead of going through
an std::string.
This also adds new formatters for objcinstance and objcclass
as described in the dox.
llvm-svn: 59933 
							
						 
						
							2008-11-24 03:33:13 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								a612e79be4 
								
							 
						 
						
							
							
								
								Normalize many BasicBlock names.  
							
							 
							
							... 
							
							
							
							- Use dotted notation for blocks related to a particular statement
   type.
 - Use .end for landing pads.
No functionality change in NDEBUG mode. :)
llvm-svn: 59210 
							
						 
						
							2008-11-13 01:38:36 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								75283ff38a 
								
							 
						 
						
							
							
								
								Centralize basic block creation in CodeGenFunction::createBasicBlock.  
							
							 
							
							... 
							
							
							
							- No functionality change.
llvm-svn: 59017 
							
						 
						
							2008-11-11 02:29:29 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								131be8b4f4 
								
							 
						 
						
							
							
								
								Handle static initializers in Objective-C++ methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55250 
							
						 
						
							2008-08-23 19:42:54 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								87fc5a5e6b 
								
							 
						 
						
							
							
								
								Add preliminary (and probably broken) codegen support for C++ static initializers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55180 
							
						 
						
							2008-08-22 16:00:37 +00:00