e3b8dd433c 
								
							 
						 
						
							
							
								
								IRgen/CGValue: Add alignment to LValue, and use that alignment when generating lvalue load/stores.  
							
							... 
							
							
							
							llvm-svn: 111710 
							
						 
						
							2010-08-21 02:39:23 +00:00  
				
					
						
							
							
								 
						
							
								ab4dbea096 
								
							 
						 
						
							
							
								
								IRgen/LValue: Rename SetQualifiers() to Initialize().  
							
							... 
							
							
							
							llvm-svn: 111708 
							
						 
						
							2010-08-21 02:31:58 +00:00  
				
					
						
							
							
								 
						
							
								217af240b5 
								
							 
						 
						
							
							
								
								Adopt objc_assign_threadlocal() for __thread variables of GC types.  
							
							... 
							
							
							
							Implements radar 8203301.
llvm-svn: 108917 
							
						 
						
							2010-07-20 20:30:03 +00:00  
				
					
						
							
							
								 
						
							
								2718b4d757 
								
							 
						 
						
							
							
								
								CodeGen: Shrink RValue. 4 words -> 2 words.  
							
							... 
							
							
							
							llvm-svn: 102863 
							
						 
						
							2010-05-02 14:59:10 +00:00  
				
					
						
							
							
								 
						
							
								c75c8bd757 
								
							 
						 
						
							
							
								
								IRgen: Move the bit-field access type into CGBitFieldInfo, and change bit-field LValues to just store the base address of object containing the bit-field.  
							
							... 
							
							
							
							llvm-svn: 100745 
							
						 
						
							2010-04-08 02:59:45 +00:00  
				
					
						
							
							
								 
						
							
								196ea449ed 
								
							 
						 
						
							
							
								
								IRgen: Move BitFieldIsSigned bit into CGBitFieldInfo.  
							
							... 
							
							
							
							llvm-svn: 100513 
							
						 
						
							2010-04-06 01:07:44 +00:00  
				
					
						
							
							
								 
						
							
								dc406b8e92 
								
							 
						 
						
							
							
								
								IRgen: Move BitField LValues to just hold a reference to the CGBitFieldInfo.  
							
							... 
							
							
							
							- Unfortunately, this requires some horrible code in CGObjCMac which always
   allocats a CGBitFieldInfo because we don't currently build a proper layout
   for Objective-C classes. It needs to be cleaned up, but I don't want the
   bit-field cleanups to be blocked on that.
llvm-svn: 100474 
							
						 
						
							2010-04-05 21:36:35 +00:00  
				
					
						
							
							
								 
						
							
								462a4aa787 
								
							 
						 
						
							
							
								
								Fix documentation.  
							
							... 
							
							
							
							llvm-svn: 85901 
							
						 
						
							2009-11-03 16:11:57 +00:00  
				
					
						
							
							
								 
						
							
								7a95d72b10 
								
							 
						 
						
							
							
								
								Patch fixes a code gen. bug in generation of objc_assign_ivar  
							
							... 
							
							
							
							(objc GC's API).
llvm-svn: 82724 
							
						 
						
							2009-09-24 22:25:38 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								38c3ae9bc4 
								
							 
						 
						
							
							
								
								Miscellanous fixes in generatation of objc gc's write-barriers.  
							
							... 
							
							
							
							llvm-svn: 82472 
							
						 
						
							2009-09-21 18:54:29 +00:00  
				
					
						
							
							
								 
						
							
								2e32ddc7ba 
								
							 
						 
						
							
							
								
								Fixed a bug in generation of the new write-barriers when  
							
							... 
							
							
							
							array syntax is used to derefernce and assign to ivar pointee.
llvm-svn: 82183 
							
						 
						
							2009-09-18 00:04:00 +00:00  
				
					
						
							
							
								 
						
							
								11289f4280 
								
							 
						 
						
							
							
								
								Remove tabs, and whitespace cleanups.  
							
							... 
							
							
							
							llvm-svn: 81346 
							
						 
						
							2009-09-09 15:08:12 +00:00  
				
					
						
							
							
								 
						
							
								9a84665921 
								
							 
						 
						
							
							
								
								Using "ObjCImplicitSetterGetterRefExpr" instead of "ObjCImplctSetterGetterRefExpr".  
							
							... 
							
							
							
							A field rename and more comments.
llvm-svn: 79537 
							
						 
						
							2009-08-20 17:02:02 +00:00  
				
					
						
							
							
								 
						
							
								88cc2340de 
								
							 
						 
						
							
							
								
								Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr.  
							
							... 
							
							
							
							Removed an unnecessary loop to get to setters incoming
argument. Added DoxyGen comments. Still more work
to do in this area (WIP).
llvm-svn: 79365 
							
						 
						
							2009-08-18 20:50:23 +00:00  
				
					
						
							
							
								 
						
							
								acedf7768f 
								
							 
						 
						
							
							
								
								Preserve address space information through member accesses, e.g.,  
							
							... 
							
							
							
							__attribute__((address_space(1))) struct {int arr[ 3 ]; }  *p1;
   ... = p1->arr[2];  // load from address space 1
llvm-svn: 76717 
							
						 
						
							2009-07-22 03:08:17 +00:00  
				
					
						
							
							
								 
						
							
								01c2d0a17c 
								
							 
						 
						
							
							
								
								Not setting all the fields is confusing...  
							
							... 
							
							
							
							llvm-svn: 72506 
							
						 
						
							2009-05-28 00:16:27 +00:00  
				
					
						
							
							
								 
						
							
								93700fc988 
								
							 
						 
						
							
							
								
								Add support for volatile RValues.  
							
							... 
							
							
							
							llvm-svn: 72341 
							
						 
						
							2009-05-23 20:21:36 +00:00  
				
					
						
							
							
								 
						
							
								18bb9284ff 
								
							 
						 
						
							
							
								
								Reflow some comments.  
							
							... 
							
							
							
							llvm-svn: 71937 
							
						 
						
							2009-05-16 07:57:57 +00:00  
				
					
						
							
							
								 
						
							
								32ff7aeefa 
								
							 
						 
						
							
							
								
								Provide basic support for generation of objc2's  
							
							... 
							
							
							
							objc_assign_global API when assigning to global
objective-c object pointer.
llvm-svn: 70939 
							
						 
						
							2009-05-04 23:27:20 +00:00  
				
					
						
							
							
								 
						
							
								10bec1099c 
								
							 
						 
						
							
							
								
								Handle case of none gc'able objects regardless of their  
							
							... 
							
							
							
							type.
llvm-svn: 65205 
							
						 
						
							2009-02-21 00:30:43 +00:00  
				
					
						
							
							
								 
						
							
								83e3eea5fc 
								
							 
						 
						
							
							
								
								Some code simplification. ir gen for gc'able array  
							
							... 
							
							
							
							of objects in objc.
llvm-svn: 64992 
							
						 
						
							2009-02-19 00:48:05 +00:00  
				
					
						
							
							
								 
						
							
								e084c01124 
								
							 
						 
						
							
							
								
								fix volatile handling with ExtVectorElementExpr, so that we  
							
							... 
							
							
							
							emit two volatile loads for:
typedef __attribute__(( ext_vector_type(4) )) float float4;
float test(volatile float4 *P) {
  return P->x+P->y;
}
llvm-svn: 64683 
							
						 
						
							2009-02-16 22:25:49 +00:00  
				
					
						
							
							
								 
						
							
								f2a6e5f0c0 
								
							 
						 
						
							
							
								
								Remove tabs.  
							
							... 
							
							
							
							llvm-svn: 61097 
							
						 
						
							2008-12-16 19:57:09 +00:00  
				
					
						
							
							
								 
						
							
								9ac535162b 
								
							 
						 
						
							
							
								
								Implemented ir-gen for 'implicit' properties using the new AST nodes.  
							
							... 
							
							
							
							llvm-svn: 59886 
							
						 
						
							2008-11-22 22:30:21 +00:00  
				
					
						
							
							
								 
						
							
								735a4158d9 
								
							 
						 
						
							
							
								
								Fields of ivars of struct types are considered ivars  
							
							... 
							
							
							
							themselves for gc API generation purposes.
llvm-svn: 59828 
							
						 
						
							2008-11-21 18:14:01 +00:00  
				
					
						
							
							
								 
						
							
								75686a58f3 
								
							 
						 
						
							
							
								
								Support generation of objc_assign_ivar for ivar  
							
							... 
							
							
							
							write-barriers.
llvm-svn: 59748 
							
						 
						
							2008-11-20 20:53:20 +00:00  
				
					
						
							
							
								 
						
							
								a598b5286e 
								
							 
						 
						
							
							
								
								More of objective-c's gc code-gen. Treat objective-c  
							
							... 
							
							
							
							objects as __strong when attribute unspecified.
llvm-svn: 59654 
							
						 
						
							2008-11-19 18:38:10 +00:00  
				
					
						
							
							
								 
						
							
								50a1270d87 
								
							 
						 
						
							
							
								
								Few more changes due to Daniel's feedback.  
							
							... 
							
							
							
							llvm-svn: 59645 
							
						 
						
							2008-11-19 17:34:06 +00:00  
				
					
						
							
							
								 
						
							
								d7db964495 
								
							 
						 
						
							
							
								
								Generate strong write barriers for __strong objects.  
							
							... 
							
							
							
							Also, took care of Daniel's commments.
llvm-svn: 59575 
							
						 
						
							2008-11-19 00:59:10 +00:00  
				
					
						
							
							
								 
						
							
								f5125d19e7 
								
							 
						 
						
							
							
								
								Generate objc_read_weak for __weak objc loads.  
							
							... 
							
							
							
							llvm-svn: 59553 
							
						 
						
							2008-11-18 21:45:40 +00:00  
				
					
						
							
							
								 
						
							
								406b117eea 
								
							 
						 
						
							
							
								
								Some basic support toward objective-c's GC code gen.  
							
							... 
							
							
							
							llvm-svn: 59543 
							
						 
						
							2008-11-18 20:18:11 +00:00  
				
					
						
							
							
								 
						
							
								cf56c2b7bd 
								
							 
						 
						
							
							
								
								Add FIXME about potential problem in how property ref lvalues are handled.  
							
							... 
							
							
							
							llvm-svn: 57743 
							
						 
						
							2008-10-17 23:02:24 +00:00  
				
					
						
							
							
								 
						
							
								41cf9dedc6 
								
							 
						 
						
							
							
								
								Change CodeGen to emit calls using (RValue,Type) list:  
							
							... 
							
							
							
							- Add CodeGenFunction::EmitAnyExprToTemp
   o Like EmitAnyExpr, but emits aggregates to a temporary location if
     none is available. Seems like this should be simpler (even aside
     from using first class aggregates).
 - Killed CodeGenFunction::EmitCallArg (just append the pair)
 - Conversion of RValues to actual call arguments is now isolated in
   CodeGenFunction::EmitCall.
llvm-svn: 55970 
							
						 
						
							2008-09-09 01:06:48 +00:00  
				
					
						
							
							
								 
						
							
								9e22c0d317 
								
							 
						 
						
							
							
								
								Add special "property reference" CodeGen::LValue type for emitting  
							
							... 
							
							
							
							Objective-C property references.
 - This handles property references "more correctly" but setters still
   don't work.
llvm-svn: 55534 
							
						 
						
							2008-08-29 08:11:39 +00:00  
				
					
						
							
							
								 
						
							
								d4f616b853 
								
							 
						 
						
							
							
								
								Move [LR]Value into CGValue.h  
							
							... 
							
							
							
							- No (intended) functional change.
llvm-svn: 55221 
							
						 
						
							2008-08-23 03:10:25 +00:00