27337a8800 
								
							 
						 
						
							
							
								
								Convert AccessInfo::AccessAlignment to CharUnits. No change in functionality  
							
							... 
							
							
							
							intended.
llvm-svn: 130087 
							
						 
						
							2011-04-24 10:13:17 +00:00  
				
					
						
							
							
								 
						
							
								f76759c6fa 
								
							 
						 
						
							
							
								
								Convert CGBitFieldInfo::FieldByteOffset to CharUnits. No change in  
							
							... 
							
							
							
							functionality intended.
llvm-svn: 130085 
							
						 
						
							2011-04-24 10:04:59 +00:00  
				
					
						
							
							
								 
						
							
								0217dfc2ba 
								
							 
						 
						
							
							
								
								Perform zero-initialization of virtual base classes when emitting  
							
							... 
							
							
							
							a zero constant for a complete class.  rdar://problem/8424975
To make this happen, track the field indexes for virtual bases
in the complete object.  I'm curious whether we might be better
off making CGRecordLayoutBuilder *much* more reliant on
ASTRecordLayout;  we're currently duplicating an awful lot of the ABI
layout logic.
llvm-svn: 125555 
							
						 
						
							2011-02-15 06:40:56 +00:00  
				
					
						
							
							
								 
						
							
								5a39bd2443 
								
							 
						 
						
							
							
								
								A CGRecordLayout object persists.  Since its contained types may  
							
							... 
							
							
							
							refer to opaque types, they must be held via PATypeHolders.  I'm
not sure why this hasn't blown up before.
llvm-svn: 120491 
							
						 
						
							2010-11-30 23:21:46 +00:00  
				
					
						
							
							
								 
						
							
								36e2fa8209 
								
							 
						 
						
							
							
								
								CGRecordLayout types are always struct types.  
							
							... 
							
							
							
							llvm-svn: 120106 
							
						 
						
							2010-11-24 19:37:16 +00:00  
				
					
						
							
							
								 
						
							
								a7dd96ce77 
								
							 
						 
						
							
							
								
								Rename BaseLLVMType to NonVirtualBaseLLVMType.  
							
							... 
							
							
							
							llvm-svn: 119956 
							
						 
						
							2010-11-21 23:59:45 +00:00  
				
					
						
							
							
								 
						
							
								c1351cac17 
								
							 
						 
						
							
							
								
								Introduce the concept of a non-virtual base type to CGRecordLayoutBuilder as a first step towards fixing PR6995.  
							
							... 
							
							
							
							llvm-svn: 118491 
							
						 
						
							2010-11-09 05:25:47 +00:00  
				
					
						
							
							
								 
						
							
								c7f9bbafe4 
								
							 
						 
						
							
							
								
								IRgen: Move CGBitFieldInfo strategy computation helpers to static member  
							
							... 
							
							
							
							functions.
llvm-svn: 112913 
							
						 
						
							2010-09-02 23:53:28 +00:00  
				
					
						
							
							
								 
						
							
								614dbdcd55 
								
							 
						 
						
							
							
								
								Go back to asking CodeGenTypes whether a type is zero-initializable.  
							
							... 
							
							
							
							Make CGT defer to the ABI on all member pointer types.
This requires giving CGT a handle to the ABI.
It's way easier to make that work if we avoid lazily creating the ABI.
Make it so.
llvm-svn: 111786 
							
						 
						
							2010-08-22 21:01:12 +00:00  
				
					
						
							
							
								 
						
							
								061ca524b7 
								
							 
						 
						
							
							
								
								Keep track of the LLVM field numbers for non-virtual bases.  
							
							... 
							
							
							
							llvm-svn: 104013 
							
						 
						
							2010-05-18 05:22:06 +00:00  
				
					
						
							
							
								 
						
							
								19d6355b77 
								
							 
						 
						
							
							
								
								Fix comments.  
							
							... 
							
							
							
							llvm-svn: 102429 
							
						 
						
							2010-04-27 14:51:07 +00:00  
				
					
						
							
							
								 
						
							
								9c78d63fbc 
								
							 
						 
						
							
							
								
								IRgen: Change CGBitFieldInfo to take the AccessInfo as constructor arguments, it is now an immutable object.  
							
							... 
							
							
							
							Also, add some checking of various invariants that should hold on the CGBitFieldInfo access.
llvm-svn: 101345 
							
						 
						
							2010-04-15 05:09:32 +00:00  
				
					
						
							
							
								 
						
							
								bb13845c5f 
								
							 
						 
						
							
							
								
								IRgen: Eliminate now unused fields from CGBitFieldInfo.  
							
							... 
							
							
							
							llvm-svn: 101344 
							
						 
						
							2010-04-15 05:09:28 +00:00  
				
					
						
							
							
								 
						
							
								b2b40a479d 
								
							 
						 
						
							
							
								
								IRgen: Tweak CGBitFieldInfo doxyments & add an accessor.  
							
							... 
							
							
							
							llvm-svn: 101221 
							
						 
						
							2010-04-14 04:07:59 +00:00  
				
					
						
							
							
								 
						
							
								b935b9370d 
								
							 
						 
						
							
							
								
								IRgen: Enhance CGBitFieldInfo with enough information to fully describe the "policy" with which a bit-field should be accessed.  
							
							... 
							
							
							
							- For now, these policies are computed to match the current IRgen strategy, although the new information isn't being used yet (except in -fdump-record-layouts).
 - Design comments appreciated.
llvm-svn: 101178 
							
						 
						
							2010-04-13 20:58:55 +00:00  
				
					
						
							
							
								 
						
							
								b97bff9aa9 
								
							 
						 
						
							
							
								
								IRgen: Add CGRecordLayout::dump, and dump (irgen) record layouts as part of -fdump-record-layouts.  
							
							... 
							
							
							
							llvm-svn: 101051 
							
						 
						
							2010-04-12 18:14:18 +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  
				
					
						
							
							
								 
						
							
								cd3d5e76ce 
								
							 
						 
						
							
							
								
								IRgen: Lift BitFieldInfo to CGBitFieldInfo at namespace level.  
							
							... 
							
							
							
							llvm-svn: 100433 
							
						 
						
							2010-04-05 16:20:44 +00:00  
				
					
						
							
							
								 
						
							
								034299ef25 
								
							 
						 
						
							
							
								
								IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out of CodeGenTypes, to per-record CGRecordLayout structures.  
							
							... 
							
							
							
							- I did a cursory check that this was perf neutral, FWIW.
llvm-svn: 99978 
							
						 
						
							2010-03-31 01:09:11 +00:00  
				
					
						
							
							
								 
						
							
								23ee4b7710 
								
							 
						 
						
							
							
								
								IRGen: Hide CGRecordLayoutBuilder class, because I can.  
							
							... 
							
							
							
							llvm-svn: 99967 
							
						 
						
							2010-03-31 00:11:27 +00:00  
				
					
						
							
							
								 
						
							
								072d0bb247 
								
							 
						 
						
							
							
								
								IRgen: Move CGRecordLayout to its own happy little file.  
							
							... 
							
							
							
							llvm-svn: 99945 
							
						 
						
							2010-03-30 22:26:10 +00:00