b6d01caf22 
								
							 
						 
						
							
							
								
								Simplify some code by moving variable declarations into the only block that  
							
							... 
							
							
							
							uses them.
llvm-svn: 34432 
							
						 
						
							2007-02-19 23:30:10 +00:00  
				
					
						
							
							
								 
						
							
								421bad0dc5 
								
							 
						 
						
							
							
								
								Implement support for non-standard integer bit widths of any size. The  
							
							... 
							
							
							
							rules alignment is to pick the alignment that corresponds to the smallest
specified alignment that is larger than the bit width of the type or the
largest specified integer alignment if none are larger than the bitwidth
of the type. For the byte size, the size returned is the next larger
multiple of the alignment for that type (using the above rule). This patch
also changes bit widths from "short" to "uint32_t" to ensure there are
enough bits to specify any bit width that LLVM can handle (currently 2^23);
16-bits isn't enough.
llvm-svn: 34431 
							
						 
						
							2007-02-19 22:35:00 +00:00  
				
					
						
							
							
								 
						
							
								04eb16b415 
								
							 
						 
						
							
							
								
								Do not dereference invalid ranges.  Generalize targetdata alignment model.  
							
							... 
							
							
							
							This fixes the UnitTests/Vector/sumarray-dbl regressions.
llvm-svn: 34358 
							
						 
						
							2007-02-17 00:41:42 +00:00  
				
					
						
							
							
								 
						
							
								dc64b9d379 
								
							 
						 
						
							
							
								
								Fix CodeGen/PowerPC/2007-02-16-AlignPacked.ll  
							
							... 
							
							
							
							llvm-svn: 34356 
							
						 
						
							2007-02-16 23:11:51 +00:00  
				
					
						
							
							
								 
						
							
								e4ff249d26 
								
							 
						 
						
							
							
								
								Remove an unnecessary predicate.  
							
							... 
							
							
							
							Patch by Scott Michel.
llvm-svn: 34354 
							
						 
						
							2007-02-16 22:42:40 +00:00  
				
					
						
							
							
								 
						
							
								f9122c4512 
								
							 
						 
						
							
							
								
								simplify some code, ensure that packed structures get abi alignment of 1.  
							
							... 
							
							
							
							llvm-svn: 34352 
							
						 
						
							2007-02-16 22:25:34 +00:00  
				
					
						
							
							
								 
						
							
								03d4a8a368 
								
							 
						 
						
							
							
								
								For PR1195:  
							
							... 
							
							
							
							PACKED_ALIGN -> VECTOR_ALIGN
llvm-svn: 34330 
							
						 
						
							2007-02-15 22:07:05 +00:00  
				
					
						
							
							
								 
						
							
								40aa2fdac6 
								
							 
						 
						
							
							
								
								For PR1202:  
							
							... 
							
							
							
							Make sure we found an existing Alignment before overwriting it.
llvm-svn: 34308 
							
						 
						
							2007-02-15 18:34:36 +00:00  
				
					
						
							
							
								 
						
							
								d84d35ba70 
								
							 
						 
						
							
							
								
								For PR1195:  
							
							... 
							
							
							
							Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293 
							
						 
						
							2007-02-15 02:26:10 +00:00  
				
					
						
							
							
								 
						
							
								dad84a7c02 
								
							 
						 
						
							
							
								
								Fixed packed structure breakage from earlier TargetData patch; applied  
							
							... 
							
							
							
							Chris Lattner's code style suggestions.
Patch by Scott Michel!
llvm-svn: 34292 
							
						 
						
							2007-02-15 02:11:06 +00:00  
				
					
						
							
							
								 
						
							
								945e437c65 
								
							 
						 
						
							
							
								
								Generalize TargetData strings, to support more interesting forms of data.  
							
							... 
							
							
							
							Patch by Scott Michel.
llvm-svn: 34266 
							
						 
						
							2007-02-14 05:52:17 +00:00  
				
					
						
							
							
								 
						
							
								fed6f0e571 
								
							 
						 
						
							
							
								
								Switch LayoutInfo to be a DenseMap instead of an std::map.  This speeds up  
							
							... 
							
							
							
							-load-vn -gcse by 2.3%.
llvm-svn: 34160 
							
						 
						
							2007-02-10 20:26:17 +00:00  
				
					
						
							
							
								 
						
							
								22206711c9 
								
							 
						 
						
							
							
								
								add a typedef  
							
							... 
							
							
							
							llvm-svn: 34159 
							
						 
						
							2007-02-10 20:18:06 +00:00  
				
					
						
							
							
								 
						
							
								e472f9c4dc 
								
							 
						 
						
							
							
								
								eliminate the std::vector from StructLayout, allocating the elements immediately  
							
							... 
							
							
							
							after the StructLayout object in memory.  This marginally improves locality,
speeding up -load-vn -gcse by ~0.8%.
llvm-svn: 34158 
							
						 
						
							2007-02-10 20:15:41 +00:00  
				
					
						
							
							
								 
						
							
								b84892d2d2 
								
							 
						 
						
							
							
								
								encapsulate the rest of the StructLayout members.  
							
							... 
							
							
							
							llvm-svn: 34157 
							
						 
						
							2007-02-10 19:59:22 +00:00  
				
					
						
							
							
								 
						
							
								c473d8e431 
								
							 
						 
						
							
							
								
								Privatize StructLayout::MemberOffsets, adding an accessor  
							
							... 
							
							
							
							llvm-svn: 34156 
							
						 
						
							2007-02-10 19:55:17 +00:00  
				
					
						
							
							
								 
						
							
								1e692e823c 
								
							 
						 
						
							
							
								
								Use ManagedStatic to manage LayoutInfo, instead of rolling our own.  
							
							... 
							
							
							
							llvm-svn: 34154 
							
						 
						
							2007-02-10 19:43:18 +00:00  
				
					
						
							
							
								 
						
							
								336e3962ff 
								
							 
						 
						
							
							
								
								Change TargetData::getIndexedOffset interface to not require indices  
							
							... 
							
							
							
							in a vector.
llvm-svn: 34153 
							
						 
						
							2007-02-10 19:33:15 +00:00  
				
					
						
							
							
								 
						
							
								92b50800f6 
								
							 
						 
						
							
							
								
								Although targets are not required to support integers > 64bits, TargetData  
							
							... 
							
							
							
							must in order for backends that do want to support large integer types to be
able to function. Consequently, don't assert if the bitwidth > 64 bits
when computing the size and alignment. Instead, compute the size by rounding
up to the next even number of bytes for the size. Compute the alignment
as the same as the LongABIAlignment. These provide reasonable defaults
that the target can override.
llvm-svn: 33943 
							
						 
						
							2007-02-05 23:51:43 +00:00  
				
					
						
							
							
								 
						
							
								d7e39eb443 
								
							 
						 
						
							
							
								
								Dead comment.  
							
							... 
							
							
							
							llvm-svn: 33719 
							
						 
						
							2007-01-31 21:31:25 +00:00  
				
					
						
							
							
								 
						
							
								3ac38e99b9 
								
							 
						 
						
							
							
								
								For PR761:  
							
							... 
							
							
							
							The Module::setEndianness and Module::setPointerSize methods have been
removed. Instead you can get/set the DataLayout. Adjust thise accordingly.
llvm-svn: 33530 
							
						 
						
							2007-01-26 08:11:39 +00:00  
				
					
						
							
							
								 
						
							
								f5c96fabf9 
								
							 
						 
						
							
							
								
								Renamed getTypeAlignmentShift() to getPreferredTypeAlignmentShift().  
							
							... 
							
							
							
							llvm-svn: 33482 
							
						 
						
							2007-01-24 07:03:39 +00:00  
				
					
						
							
							
								 
						
							
								1efe904cd7 
								
							 
						 
						
							
							
								
								- getTypeAlignmentShift() should be returning preferred alignment, not ABI  
							
							... 
							
							
							
							alignment.
- getPreferredAlignmentLog(): remove Double special case.
llvm-svn: 33445 
							
						 
						
							2007-01-22 23:08:19 +00:00  
				
					
						
							
							
								 
						
							
								2239163496 
								
							 
						 
						
							
							
								
								Implement a getTypeSizeInBits method. This helps in transforms that want  
							
							... 
							
							
							
							to ensure the bit size of a type is identical before proceeding.
llvm-svn: 33413 
							
						 
						
							2007-01-20 23:32:04 +00:00  
				
					
						
							
							
								 
						
							
								e52a235e99 
								
							 
						 
						
							
							
								
								TargetData assumes (and some regression tests depend on it) that the size of  
							
							... 
							
							
							
							an unspecified datatype in the datalayout is capped by the size of a pointer.
llvm-svn: 33411 
							
						 
						
							2007-01-20 23:07:13 +00:00  
				
					
						
							
							
								 
						
							
								6e38094235 
								
							 
						 
						
							
							
								
								trivial cleanup  
							
							... 
							
							
							
							llvm-svn: 33410 
							
						 
						
							2007-01-20 22:39:15 +00:00  
				
					
						
							
							
								 
						
							
								50ee0e40e5 
								
							 
						 
						
							
							
								
								Teach TargetData to handle 'preferred' alignment for each target, and use  
							
							... 
							
							
							
							these alignment amounts to align scalars when we can.  Patch by Scott Michel!
llvm-svn: 33409 
							
						 
						
							2007-01-20 22:35:55 +00:00  
				
					
						
							
							
								 
						
							
								7a9c62baa6 
								
							 
						 
						
							
							
								
								For PR1064:  
							
							... 
							
							
							
							Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
   bits in an integer. The Type classes SubclassData field is used to
   store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
   64-bit integers. These are replaced with just IntegerType which is not
   a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types.  Future increments
will rectify this situation.
llvm-svn: 33113 
							
						 
						
							2007-01-12 07:05:14 +00:00  
				
					
						
							
							
								 
						
							
								542964f55b 
								
							 
						 
						
							
							
								
								Rename BoolTy as Int1Ty. Patch by Sheng Zhou.  
							
							... 
							
							
							
							llvm-svn: 33076 
							
						 
						
							2007-01-11 18:21:29 +00:00  
				
					
						
							
							
								 
						
							
								e63b6518fa 
								
							 
						 
						
							
							
								
								For PR950:  
							
							... 
							
							
							
							Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
   type of an function parameter was used to determine whether it should
   be sign extended or zero extended before the call. This information is
   now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
   the parameter attribute information. Although it would have been
   convenient to pass in the FunctionType itself, there isn't always one
   present in the caller. Consequently, a signedness indication for the
   result type and for each parameter was provided for in the interface
   to this method. All implementations were changed to make the adjustment
   necessary.
llvm-svn: 32788 
							
						 
						
							2006-12-31 05:55:36 +00:00  
				
					
						
							
							
								 
						
							
								dcb3c978c4 
								
							 
						 
						
							
							
								
								Packed Structures  
							
							... 
							
							
							
							llvm-svn: 32361 
							
						 
						
							2006-12-08 18:06:16 +00:00  
				
					
						
							
							
								 
						
							
								71b99297aa 
								
							 
						 
						
							
							
								
								Move getPreferredAlignmentLog from AsmPrinter to TargetData  
							
							... 
							
							
							
							llvm-svn: 31171 
							
						 
						
							2006-10-24 20:32:14 +00:00  
				
					
						
							
							
								 
						
							
								e0fc4dfc22 
								
							 
						 
						
							
							
								
								For PR950:  
							
							... 
							
							
							
							This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063 
							
						 
						
							2006-10-20 07:07:24 +00:00  
				
					
						
							
							
								 
						
							
								f3b5b92e58 
								
							 
						 
						
							
							
								
								Don't pass target name into TargetData anymore, it is never used or needed.  
							
							... 
							
							
							
							Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
llvm-svn: 28830 
							
						 
						
							2006-06-16 18:22:52 +00:00  
				
					
						
							
							
								 
						
							
								7f043b52ff 
								
							 
						 
						
							
							
								
								Remove ctor with each piece specifyable (which causes overload ambiguities),  
							
							... 
							
							
							
							add a new init method.
llvm-svn: 28828 
							
						 
						
							2006-06-16 18:11:26 +00:00  
				
					
						
							
							
								 
						
							
								80b1b4d41e 
								
							 
						 
						
							
							
								
								Make TargetData strings less redundant.  
							
							... 
							
							
							
							llvm-svn: 28423 
							
						 
						
							2006-05-20 23:28:54 +00:00  
				
					
						
							
							
								 
						
							
								482fb65144 
								
							 
						 
						
							
							
								
								Fix a parsing bug that caused 7 llvm-test regressions on PPC last night.  
							
							... 
							
							
							
							I'm suprised it didn't cause more!
llvm-svn: 28421 
							
						 
						
							2006-05-20 21:16:59 +00:00  
				
					
						
							
							
								 
						
							
								88812b5c0a 
								
							 
						 
						
							
							
								
								Make all of the TargetMachine subclasses use the new string TargetData methods.  
							
							... 
							
							
							
							This is part of the on-going work on PR 761.
llvm-svn: 28414 
							
						 
						
							2006-05-20 00:24:56 +00:00  
				
					
						
							
							
								 
						
							
								fc08d5a2a8 
								
							 
						 
						
							
							
								
								Fix a stupid bug when parsing TargetData strings.  
							
							... 
							
							
							
							llvm-svn: 28373 
							
						 
						
							2006-05-17 21:56:02 +00:00  
				
					
						
							
							
								 
						
							
								5fea9f0a93 
								
							 
						 
						
							
							
								
								Add a method to generate a string representation from a TargetData.  
							
							... 
							
							
							
							This continues the work on PR 761.
llvm-svn: 28239 
							
						 
						
							2006-05-12 07:01:44 +00:00  
				
					
						
							
							
								 
						
							
								d7c77b8c56 
								
							 
						 
						
							
							
								
								Fix some tabbing issues.  
							
							... 
							
							
							
							llvm-svn: 28237 
							
						 
						
							2006-05-12 06:06:55 +00:00  
				
					
						
							
							
								 
						
							
								8d7774cb1d 
								
							 
						 
						
							
							
								
								Add a new constructor to TargetData that builds a TargetData from its  
							
							... 
							
							
							
							string representation.
This is part of PR 761.
llvm-svn: 28234 
							
						 
						
							2006-05-12 05:49:47 +00:00  
				
					
						
							
							
								 
						
							
								bf0016f2d4 
								
							 
						 
						
							
							
								
								revert previous patch  
							
							... 
							
							
							
							llvm-svn: 27383 
							
						 
						
							2006-04-03 23:14:49 +00:00  
				
					
						
							
							
								 
						
							
								78c788b450 
								
							 
						 
						
							
							
								
								Align vectors to the size in bytes, not bits.  
							
							... 
							
							
							
							llvm-svn: 27376 
							
						 
						
							2006-04-03 19:28:50 +00:00  
				
					
						
							
							
								 
						
							
								a11d834b8c 
								
							 
						 
						
							
							
								
								TargetData.cpp::getTypeInfo() was returning alignment of element type as the  
							
							... 
							
							
							
							alignment of a packed type. This is obviously wrong. Added a workaround that
returns the size of the packed type as its alignment. The correct fix would
be to return a target dependent alignment value provided via TargetLowering
(or some other interface).
llvm-svn: 27319 
							
						 
						
							2006-03-31 22:33:42 +00:00  
				
					
						
							
							
								 
						
							
								a4de9baf40 
								
							 
						 
						
							
							
								
								Implement a new InvalidateStructLayoutInfo method and add some comments  
							
							... 
							
							
							
							llvm-svn: 25304 
							
						 
						
							2006-01-14 00:07:34 +00:00  
				
					
						
							
							
								 
						
							
								6667bdbaca 
								
							 
						 
						
							
							
								
								Update to use the new MathExtras.h support for log2 computation.  
							
							... 
							
							
							
							Patch contributed by Jim Laskey!
llvm-svn: 22594 
							
						 
						
							2005-08-02 19:26:06 +00:00  
				
					
						
							
							
								 
						
							
								10468d8a3c 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21422 
							
						 
						
							2005-04-21 22:55:34 +00:00  
				
					
						
							
							
								 
						
							
								3434004dce 
								
							 
						 
						
							
							
								
								add a StructLayout::getElementContainingOffset method.  
							
							... 
							
							
							
							llvm-svn: 20579 
							
						 
						
							2005-03-13 19:04:41 +00:00  
				
					
						
							
							
								 
						
							
								e58bf09138 
								
							 
						 
						
							
							
								
								Initial support for packed types, contributed by Morten Ofstad  
							
							... 
							
							
							
							llvm-svn: 18406 
							
						 
						
							2004-12-01 17:14:28 +00:00  
				
					
						
							
							
								 
						
							
								cff3b41e95 
								
							 
						 
						
							
							
								
								Fix this function to not say that longs have 8-byte alignment on X86/PPC.  
							
							... 
							
							
							
							This method is really a gross hack, but at least we can make it work on
the targets we support right now.
This bug fix stops a crash in a testcase reduced from 176.gcc
llvm-svn: 17443 
							
						 
						
							2004-11-02 22:18:18 +00:00  
				
					
						
							
							
								 
						
							
								7c16caa336 
								
							 
						 
						
							
							
								
								Changes For Bug 352  
							
							... 
							
							
							
							Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137 
							
						 
						
							2004-09-01 22:55:40 +00:00  
				
					
						
							
							
								 
						
							
								0c2ab8a9d4 
								
							 
						 
						
							
							
								
								Add a new helper method to get log2(type alignment)  
							
							... 
							
							
							
							llvm-svn: 15887 
							
						 
						
							2004-08-17 19:13:00 +00:00  
				
					
						
							
							
								 
						
							
								3faa865508 
								
							 
						 
						
							
							
								
								* Add BoolAlignment to TargetData, default is 1 byte, size 1 byte  
							
							... 
							
							
							
							* Convert tabs to spaces
llvm-svn: 15120 
							
						 
						
							2004-07-23 01:09:52 +00:00  
				
					
						
							
							
								 
						
							
								072a4c0091 
								
							 
						 
						
							
							
								
								Nuke a clearly bogus assertion  
							
							... 
							
							
							
							llvm-svn: 14854 
							
						 
						
							2004-07-15 07:44:34 +00:00  
				
					
						
							
							
								 
						
							
								f6d2471c5d 
								
							 
						 
						
							
							
								
								Fix use-before-def thinko  
							
							... 
							
							
							
							llvm-svn: 14570 
							
						 
						
							2004-07-02 07:01:31 +00:00  
				
					
						
							
							
								 
						
							
								18a08e702d 
								
							 
						 
						
							
							
								
								Handle targets where alignment can be bigger than the size of the data.  
							
							... 
							
							
							
							Contributed by Vladimir Prus!
llvm-svn: 14534 
							
						 
						
							2004-07-01 17:32:59 +00:00  
				
					
						
							
							
								 
						
							
								6b7275996c 
								
							 
						 
						
							
							
								
								Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()  
							
							... 
							
							
							
							llvm-svn: 14201 
							
						 
						
							2004-06-17 18:19:28 +00:00  
				
					
						
							
							
								 
						
							
								0174347d9a 
								
							 
						 
						
							
							
								
								Fix typo.  
							
							... 
							
							
							
							llvm-svn: 12953 
							
						 
						
							2004-04-14 21:21:56 +00:00  
				
					
						
							
							
								 
						
							
								69193f93b6 
								
							 
						 
						
							
							
								
								Support getelementptr instructions which use uint's to index into structure  
							
							... 
							
							
							
							types and can have arbitrary 32- and 64-bit integer types indexing into
sequential types.
llvm-svn: 12653 
							
						 
						
							2004-04-05 01:30:19 +00:00  
				
					
						
							
							
								 
						
							
								7140e4696a 
								
							 
						 
						
							
							
								
								Use a map instead of annotations  
							
							... 
							
							
							
							llvm-svn: 11875 
							
						 
						
							2004-02-26 08:02:17 +00:00  
				
					
						
							
							
								 
						
							
								ac6db755c3 
								
							 
						 
						
							
							
								
								Adjust to the changed StructType interface.  In particular, getElementTypes() is gone.  
							
							... 
							
							
							
							llvm-svn: 11228 
							
						 
						
							2004-02-09 04:37:31 +00:00  
				
					
						
							
							
								 
						
							
								bb661c18c8 
								
							 
						 
						
							
							
								
								finegrainify namespacification  
							
							... 
							
							
							
							add new getIntPtrType() method
llvm-svn: 10579 
							
						 
						
							2003-12-22 05:01:15 +00:00  
				
					
						
							
							
								 
						
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
				
					
						
							
							
								 
						
							
								482202a601 
								
							 
						 
						
							
							
								
								Added LLVM project notice to the top of every C++ source file.  
							
							... 
							
							
							
							Header files will be on the way.
llvm-svn: 9298 
							
						 
						
							2003-10-20 19:43:21 +00:00  
				
					
						
							
							
								 
						
							
								e34e200e16 
								
							 
						 
						
							
							
								
								Add support for 'any' pointer size and endianness  
							
							... 
							
							
							
							llvm-svn: 8120 
							
						 
						
							2003-08-24 13:49:22 +00:00  
				
					
						
							
							
								 
						
							
								7eb05a170a 
								
							 
						 
						
							
							
								
								Spell `necessary' correctly.  
							
							... 
							
							
							
							llvm-svn: 7944 
							
						 
						
							2003-08-18 14:43:39 +00:00  
				
					
						
							
							
								 
						
							
								f26a8ee580 
								
							 
						 
						
							
							
								
								Remove redundant const qualifiers from cast<> expressions  
							
							... 
							
							
							
							llvm-svn: 7253 
							
						 
						
							2003-07-23 15:30:06 +00:00  
				
					
						
							
							
								 
						
							
								fee44070a1 
								
							 
						 
						
							
							
								
								No really, you _cannot use_ getelementptr on an unsized type: that makes  
							
							... 
							
							
							
							no sense.
llvm-svn: 6595 
							
						 
						
							2003-06-04 02:35:35 +00:00  
				
					
						
							
							
								 
						
							
								680ee9f634 
								
							 
						 
						
							
							
								
								Undo one of those last fixes -- it was incorrect.  
							
							... 
							
							
							
							llvm-svn: 6593 
							
						 
						
							2003-06-04 02:10:37 +00:00  
				
					
						
							
							
								 
						
							
								7b66a726f8 
								
							 
						 
						
							
							
								
								Minor cleanups  
							
							... 
							
							
							
							llvm-svn: 6535 
							
						 
						
							2003-06-02 05:21:06 +00:00  
				
					
						
							
							
								 
						
							
								6532e427b4 
								
							 
						 
						
							
							
								
								* Fix divide by zero error with empty structs  
							
							... 
							
							
							
							* Empty structs should have ALIGNMENT 1, not SIZE 1.
llvm-svn: 6263 
							
						 
						
							2003-05-21 18:08:44 +00:00  
				
					
						
							
							
								 
						
							
								4f6cdbdf81 
								
							 
						 
						
							
							
								
								Remove two fields from TargetData which are target specific.  
							
							... 
							
							
							
							llvm-svn: 5963 
							
						 
						
							2003-04-26 20:11:09 +00:00  
				
					
						
							
							
								 
						
							
								b05f851d59 
								
							 
						 
						
							
							
								
								Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!  
							
							... 
							
							
							
							llvm-svn: 5937 
							
						 
						
							2003-04-25 06:06:43 +00:00  
				
					
						
							
							
								 
						
							
								e483398516 
								
							 
						 
						
							
							
								
								Allow for easy detection of when a "default" TargetData is created by the  
							
							... 
							
							
							
							passmanager, which is never the right thing to do.
llvm-svn: 5922 
							
						 
						
							2003-04-25 02:50:45 +00:00  
				
					
						
							
							
								 
						
							
								42516baf76 
								
							 
						 
						
							
							
								
								add a new targetdata ctor to create a target data appropriate to the module  
							
							... 
							
							
							
							llvm-svn: 5903 
							
						 
						
							2003-04-24 19:09:05 +00:00  
				
					
						
							
							
								 
						
							
								ae1f73b4f5 
								
							 
						 
						
							
							
								
								Remove wierd case that can never happen  
							
							... 
							
							
							
							llvm-svn: 5623 
							
						 
						
							2003-02-25 20:27:09 +00:00  
				
					
						
							
							
								 
						
							
								b848956370 
								
							 
						 
						
							
							
								
								* Privatize the TargetName  
							
							... 
							
							
							
							* Move optSizeForSubWordData to TargetData
* Remove unused fields
llvm-svn: 4417 
							
						 
						
							2002-10-29 21:48:17 +00:00  
				
					
						
							
							
								 
						
							
								5156bba4c7 
								
							 
						 
						
							
							
								
								- Add an endianness field to the TargetData datastructure  
							
							... 
							
							
							
							llvm-svn: 4174 
							
						 
						
							2002-10-14 22:41:13 +00:00  
				
					
						
							
							
								 
						
							
								a202c0dbfa 
								
							 
						 
						
							
							
								
								Don't try to compute the size of an "array" element if the index is 0:  
							
							... 
							
							
							
							the size may be unknown, and is not needed.
llvm-svn: 4153 
							
						 
						
							2002-10-13 21:47:44 +00:00  
				
					
						
							
							
								 
						
							
								09cfdcb1a3 
								
							 
						 
						
							
							
								
								Convert TargetData to be an ImmutablePass  
							
							... 
							
							
							
							llvm-svn: 3927 
							
						 
						
							2002-09-25 23:46:55 +00:00  
				
					
						
							
							
								 
						
							
								136dab7d86 
								
							 
						 
						
							
							
								
								- Change getelementptr instruction to use long indexes instead of uint  
							
							... 
							
							
							
							indexes for sequential types.
llvm-svn: 3682 
							
						 
						
							2002-09-11 01:21:33 +00:00  
				
					
						
							
							
								 
						
							
								9068efdce6 
								
							 
						 
						
							
							
								
								Fix sign-extension: it needs to happen *after* multiplying by type size.  
							
							... 
							
							
							
							llvm-svn: 3497 
							
						 
						
							2002-08-24 14:44:58 +00:00  
				
					
						
							
							
								 
						
							
								b342572667 
								
							 
						 
						
							
							
								
								Simplify previous hack slightly.  
							
							... 
							
							
							
							llvm-svn: 3490 
							
						 
						
							2002-08-23 03:21:01 +00:00  
				
					
						
							
							
								 
						
							
								1c84243d47 
								
							 
						 
						
							
							
								
								Force sign-extension for uint array indexes from 32-bit to 64-bits  
							
							... 
							
							
							
							since uint is not normally sign-extended when casting to uint64_t.
llvm-svn: 3489 
							
						 
						
							2002-08-23 02:55:51 +00:00  
				
					
						
							
							
								 
						
							
								a3efa260ea 
								
							 
						 
						
							
							
								
								Bug fix in TargetData::getIndexedOffset: We were using the pointer  
							
							... 
							
							
							
							type instead of the element type for the element size for arrays.
llvm-svn: 3302 
							
						 
						
							2002-08-13 18:17:56 +00:00  
				
					
						
							
							
								 
						
							
								71895b28cc 
								
							 
						 
						
							
							
								
								Bug fix in TargetData::getIndexedOffset(): handle struct offset  
							
							... 
							
							
							
							after array offset correctly.  The type was not being updated for
array offsets!
llvm-svn: 3246 
							
						 
						
							2002-08-04 20:52:39 +00:00  
				
					
						
							
							
								 
						
							
								10073a9080 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 3075 
							
						 
						
							2002-07-25 06:17:51 +00:00  
				
					
						
							
							
								 
						
							
								8b831746be 
								
							 
						 
						
							
							
								
								Add integer register size field.  
							
							... 
							
							
							
							Make all sizes and offsets uint64_t instead of uint.
Fixed GetIndexedOffset to handle mixed array and struct indices.
llvm-svn: 2641 
							
						 
						
							2002-05-19 15:28:02 +00:00  
				
					
						
							
							
								 
						
							
								8b1e4d63fe 
								
							 
						 
						
							
							
								
								Extend TargetData::getIndexedOffset to support arrays and pointers!  
							
							... 
							
							
							
							llvm-svn: 2535 
							
						 
						
							2002-05-07 20:00:33 +00:00  
				
					
						
							
							
								 
						
							
								181cc32365 
								
							 
						 
						
							
							
								
								Replace all usages of Type::isPointerType with isa<PointerType>  
							
							... 
							
							
							
							llvm-svn: 2486 
							
						 
						
							2002-05-06 16:15:30 +00:00  
				
					
						
							
							
								 
						
							
								ca14237696 
								
							 
						 
						
							
							
								
								Split ConstantVals.h into Constant.h and Constants.h  
							
							... 
							
							
							
							llvm-svn: 2378 
							
						 
						
							2002-04-28 19:55:58 +00:00  
				
					
						
							
							
								 
						
							
								b07bf170c6 
								
							 
						 
						
							
							
								
								Remove dead variable  
							
							... 
							
							
							
							llvm-svn: 1515 
							
						 
						
							2002-01-21 22:50:38 +00:00  
				
					
						
							
							
								 
						
							
								7f74a56e24 
								
							 
						 
						
							
							
								
								Changes to build successfully with GCC 3.02  
							
							... 
							
							
							
							llvm-svn: 1503 
							
						 
						
							2002-01-20 22:54:45 +00:00  
				
					
						
							
							
								 
						
							
								721fee255c 
								
							 
						 
						
							
							
								
								getIndexedOffset() shd take vector of Values, not of Constants!  
							
							... 
							
							
							
							llvm-svn: 1484 
							
						 
						
							2001-12-15 00:35:48 +00:00  
				
					
						
							
							
								 
						
							
								6650d18892 
								
							 
						 
						
							
							
								
								Not just arrays are unsized  
							
							... 
							
							
							
							llvm-svn: 1450 
							
						 
						
							2001-12-13 00:46:11 +00:00  
				
					
						
							
							
								 
						
							
								2413b160ec 
								
							 
						 
						
							
							
								
								Renamed inst_const_iterator -> const_inst_iterator  
							
							... 
							
							
							
							Renamed op_const_iterator   -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408 
							
						 
						
							2001-12-04 00:03:30 +00:00  
				
					
						
							
							
								 
						
							
								3462ae3ad7 
								
							 
						 
						
							
							
								
								Rename ConstPoolVal -> Constant  
							
							... 
							
							
							
							Rename ConstPool*   -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407 
							
						 
						
							2001-12-03 22:26:30 +00:00  
				
					
						
							
							
								 
						
							
								3fb79e61c2 
								
							 
						 
						
							
							
								
								Fix cute little bug that was causing the last  
							
							... 
							
							
							
							structure offset to be ignored in computing an offset!
llvm-svn: 1310 
							
						 
						
							2001-11-14 21:24:44 +00:00  
				
					
						
							
							
								 
						
							
								da55810666 
								
							 
						 
						
							
							
								
								Commit more code over to new cast style  
							
							... 
							
							
							
							llvm-svn: 697 
							
						 
						
							2001-10-02 03:41:24 +00:00  
				
					
						
							
							
								 
						
							
								8f19112923 
								
							 
						 
						
							
							
								
								Add more support for new style casts  
							
							... 
							
							
							
							Convert more code to use them
llvm-svn: 695 
							
						 
						
							2001-10-01 18:26:53 +00:00  
				
					
						
							
							
								 
						
							
								6cefc7072d 
								
							 
						 
						
							
							
								
								Renamed files to match the main classes they provide.  
							
							... 
							
							
							
							Some other minor changes.
llvm-svn: 615 
							
						 
						
							2001-09-18 12:58:33 +00:00  
				
					
						
							
							
								 
						
							
								22a6a90511 
								
							 
						 
						
							
							
								
								Make a new llvm/Target #include directory.  
							
							... 
							
							
							
							Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
llvm-svn: 566 
							
						 
						
							2001-09-14 05:34:53 +00:00