Chris Lattner 
							
						 
					 
					
						
						
							
						
						02140b025d 
					 
					
						
						
							
							Add some helpers  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13737  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-25 05:32:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d144f42a5a 
					 
					
						
						
							
							Add ConstantExpr::get(Sign|Zero)Extend methods  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12648  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-04 23:20:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4dcb5401e4 
					 
					
						
						
							
							Add a bunch of methods that should have been added a long time ago.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-29 02:37:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						46a57d8f14 
					 
					
						
						
							
							Add support for select constant exprs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-12 05:50:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						40bbeb5d07 
					 
					
						
						
							
							Add a new ConstantAggregateZero class, to fix PR239.  This makes zero  
						
						... 
						
						
						
						initializers for constant structs and arrays take constant space, instead of
space proportinal to the number of elements.  This reduces the memory usage of
the LLVM compiler by hundreds of megabytes when compiling some nasty SPEC95
benchmarks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-15 05:53:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ca705fa31d 
					 
					
						
						
							
							ConstantArray::get and ConstantStruct::get now just return pointers to  
						
						... 
						
						
						
						'Constant', instead of specific subclass pointers.  In the future, these will
return an instance of ConstantAggregateZero if all of the inputs are zeros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-15 04:14:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c07cd132cb 
					 
					
						
						
							
							Correct the method I just added to actually return false sometimes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11069  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 18:53:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f0fd6845ee 
					 
					
						
						
							
							Add a new method to ConstantFP  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11068  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 18:40:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cf2c4f8ae5 
					 
					
						
						
							
							The first half of a fix for PR218 & test/Regression/Assembler/2004-02-01-NegativeZero.llx  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11063  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-01 22:48:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b0a5ee5bb 
					 
					
						
						
							
							Add new ConstantArray::isString(), as the conditions for using getString()  
						
						... 
						
						
						
						are complex enough to check that it should be a seperate method.
While I'm here, improve ConstantArray::getNullValue a bit, though the
FIXME is still quite valid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10850  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-14 17:06:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7e208904ae 
					 
					
						
						
							
							The getShift method is no obsolete  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10797  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-12 19:37:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						48babfa60d 
					 
					
						
						
							
							The ConstantPointer class is now gone.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10057  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-17 19:47:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8b70b78ba4 
					 
					
						
						
							
							Fixes for PR114: Thanks to Reid Spencer!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-16 20:21:15 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						d0fde30ce8 
					 
					
						
						
							
							Put all LLVM code into the llvm namespace, as per bug 109.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-11 22:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						6fbcc26f14 
					 
					
						
						
							
							Added LLVM copyright header (for lack of a better term).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 20:19:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5133a5cf2e 
					 
					
						
						
							
							Add some new methods to forward to  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8852  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-05 00:13:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1ad37b2b59 
					 
					
						
						
							
							These methods are dead, remove them  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8839  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-03 18:39:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						48486893f4 
					 
					
						
						
							
							Standardize header file comments  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-30 18:37:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6ac02a9092 
					 
					
						
						
							
							Allow for "unsafe" replaceAllUsesWith operatations, for use during type resolution  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8208  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-29 05:36:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						af28ac2201 
					 
					
						
						
							
							Add more doxygen comments, add new ConstantInt::getRawValue method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7244  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 14:49:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3889a2cb05 
					 
					
						
						
							
							Remove a ton of extraneous #includes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-22 03:08:05 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						be583b914d 
					 
					
						
						
							
							Included assert.h so that the code compiles under newer versions of GCC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-11 14:01:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6cc89aad25 
					 
					
						
						
							
							Remove some cruft, add some methods to allow implementation of bugfix for  
						
						... 
						
						
						
						Bug: Linker/2003-04-26-NullPtrLinkProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-23 20:02:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						baf850a51a 
					 
					
						
						
							
							Minor rewording/cleanups  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6311  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-23 17:13:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						67d8e1aabc 
					 
					
						
						
							
							New method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6259  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-21 17:49:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						17aefb168f 
					 
					
						
						
							
							Add some methods to make type safety a bit easier  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6198  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-14 17:49:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fb242b6edc 
					 
					
						
						
							
							Change the interface to constant expressions to allow automatic folding  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5793  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-04-16 22:40:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1680312867 
					 
					
						
						
							
							Fix ConstantUInt::isAllOnesValue  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 22:39:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5ae71a137 
					 
					
						
						
							
							Extend struct and array constants to support isNullValue  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5719  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-06 21:02:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						34048e2ace 
					 
					
						
						
							
							- Dramatically simplify the Constant::mutateReferences implementation,  
						
						... 
						
						
						
						allowing it to be called on all constant types (structures/arrays)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-10-14 03:30:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c251f9e0ae 
					 
					
						
						
							
							- Add new Constant::replaceUsesOfWithOnConstant which has an end result  
						
						... 
						
						
						
						similar to User::replaceUsesOfWith but actually does the right thing for
    constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-10-09 23:12:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						93aeea3748 
					 
					
						
						
							
							Add support for turning an array of characters into a string.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3509  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-26 17:53:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e0fbb497ee 
					 
					
						
						
							
							- ConstantPointerRefs are now automatically removed from the module table  
						
						... 
						
						
						
						when they are destroyed, which makes Constant::destroyConstant an actually
    useful external interface.  Expose these methods publicly.
  - Implement destroyConstant on ConstPointerNull so that destroyConstant can
    be used on any derived type constant safely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3378  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-18 00:39:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ad333484ea 
					 
					
						
						
							
							Remove support for Not ConstantExpr.  This simplifies the unary case to only  
						
						... 
						
						
						
						have to support the cast instruction, so the function is renamed to getCast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-14 18:24:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c75071c3bf 
					 
					
						
						
							
							- Rename ConstantGenericIntegral -> ConstantIntegral  
						
						... 
						
						
						
						- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
   getAllOnesValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-13 17:50:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						994b9f337b 
					 
					
						
						
							
							- Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral  
						
						... 
						
						
						
						- Moved InstCombine: isMaxValue, isMinValue, isAllOnesValue to Constants.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3293  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-12 21:21:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e8e4605021 
					 
					
						
						
							
							Cleanup ConstantExpr handling:  
						
						... 
						
						
						
						* Correctly delete TypeHandles in AsmParser.  In addition to not leaking
   memory, this prevents a bug that could have occurred when a type got
   resolved that the constexpr was using
 * Check for errors in the AsmParser instead of hitting assertion failures
   deep in the code
 * Simplify the interface to the ConstantExpr class, removing unneccesary
   parameters to the ::get* methods.
 * Rename the 'getelementptr' version of ConstantExpr::get to
   ConstantExpr::getGetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-30 18:54:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1aa7132700 
					 
					
						
						
							
							Make getelementptr ConstExpr take a vector of constants not values  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2943  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-18 00:11:08 +00:00 
						 
				 
			
				
					
						
							
							
								Vikram S. Adve 
							
						 
					 
					
						
						
							
						
						ab6317a1e5 
					 
					
						
						
							
							Ensure ConstExpr constants are unique.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-15 18:20:50 +00:00 
						 
				 
			
				
					
						
							
							
								Vikram S. Adve 
							
						 
					 
					
						
						
							
						
						29ab9f8348 
					 
					
						
						
							
							Added subclass ConstantExpr to represent expressions consructed from  
						
						... 
						
						
						
						constants using operators such as cast, getelementptr, add, shl, etc.
Note that a ConstantExpr can be of any type, so classof() in most
other subclasses (that discriminate by type) have to check that it
is also not a ConstantExpr.   This is why isConstantExpr() is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2891  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-14 22:47:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						31bcdb822f 
					 
					
						
						
							
							Split ConstantVals.h into Constant.h and Constants.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-28 19:55:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f270c1ba27 
					 
					
						
						
							
							Rename getNullConstant to getNullValue  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-27 02:22:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						10586abe9a 
					 
					
						
						
							
							Remove getStrValue method from Constant implementations.  The AssemblyWriter  
						
						... 
						
						
						
						now knows how to write out a constant, not the constants themselves.  This is
fixed due to the move of the AsmWriter to the VMcore library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2297  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-18 18:51:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5109f75f50 
					 
					
						
						
							
							* Add virtual print methods  
						
						... 
						
						
						
						* s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2172  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-08 21:56:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						697954c15d 
					 
					
						
						
							
							Changes to build successfully with GCC 3.02  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-01-20 22:54:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						682ea21397 
					 
					
						
						
							
							Constants KNOW they are of a derived type  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1439  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-12-13 00:38:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e9bb2df410 
					 
					
						
						
							
							Rename ConstPoolVal -> Constant  
						
						... 
						
						
						
						Rename ConstPool*   -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-12-03 22:26:30 +00:00