Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								edb4a70325 
								
							 
						 
						
							
							
								
								Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types.  More to come.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77011 
							
						 
						
							2009-07-24 23:12:02 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								47db941fd3 
								
							 
						 
						
							
							
								
								Get rid of the Pass+Context magic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76702 
							
						 
						
							2009-07-22 00:24:57 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								bb2501bbbe 
								
							 
						 
						
							
							
								
								These don't really need contexts either.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75528 
							
						 
						
							2009-07-13 22:18:28 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								542619e6d5 
								
							 
						 
						
							
							
								
								Move more functionality over to LLVMContext.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75497 
							
						 
						
							2009-07-13 20:58:05 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								53a52215b5 
								
							 
						 
						
							
							
								
								Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.  
							
							 
							
							... 
							
							
							
							This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445 
							
						 
						
							2009-07-13 04:09:18 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								38264b1554 
								
							 
						 
						
							
							
								
								"LLVMContext* " --> "LLVMContext *"  
							
							 
							
							... 
							
							
							
							llvm-svn: 74878 
							
						 
						
							2009-07-06 23:00:19 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								340288c621 
								
							 
						 
						
							
							
								
								Even more passes being LLVMContext'd.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74781 
							
						 
						
							2009-07-03 19:42:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f72ce6ea8b 
								
							 
						 
						
							
							
								
								Make the key of ValueRankMap an AssertingVH, so that we die violently  
							
							 
							
							... 
							
							
							
							if it dangles.
llvm-svn: 68150 
							
						 
						
							2009-03-31 22:13:29 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								52bc2aac8a 
								
							 
						 
						
							
							
								
								This pass keeps a map of Instructions to Rank numbers,  
							
							 
							
							... 
							
							
							
							and was deleting Instructions without clearing the
corresponding map entry.  This led to nondeterministic
behavior if the same address got allocated to another
Instruction within a short time.
llvm-svn: 67306 
							
						 
						
							2009-03-19 17:22:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								fb1caf3e1f 
								
							 
						 
						
							
							
								
								Don't assign rank numbers to debug intrinsic "calls".  
							
							 
							
							... 
							
							
							
							This is needed so debug info doesn't change codegen.
llvm-svn: 66235 
							
						 
						
							2009-03-06 01:41:59 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								702f45df58 
								
							 
						 
						
							
							
								
								Fix build failure.  
							
							 
							
							... 
							
							
							
							llvm-svn: 59844 
							
						 
						
							2008-11-21 21:00:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								cb181bb203 
								
							 
						 
						
							
							
								
								Silence unused variable warnings.  
							
							 
							
							... 
							
							
							
							llvm-svn: 59841 
							
						 
						
							2008-11-21 20:00:59 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								57693dda1d 
								
							 
						 
						
							
							
								
								don't use the result of WriteAsOperand  
							
							 
							
							... 
							
							
							
							llvm-svn: 54979 
							
						 
						
							2008-08-19 04:45:19 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								e1f6e4b21d 
								
							 
						 
						
							
							
								
								API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time.  (Merge from use-diet branch.)  
							
							 
							
							... 
							
							
							
							llvm-svn: 51200 
							
						 
						
							2008-05-16 19:29:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d78c400b5b 
								
							 
						 
						
							
							
								
								Clean up the use of static and anonymous namespaces. This turned up  
							
							 
							
							... 
							
							
							
							several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 
							
						 
						
							2008-05-13 00:00:25 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9988569af8 
								
							 
						 
						
							
							
								
								Don't include <map> in Pass.h, which doesn't need it. This requires  
							
							 
							
							... 
							
							
							
							adding <map> to many files that actually do need it.
llvm-svn: 48667 
							
						 
						
							2008-03-21 23:51:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0e7fd2f1a8 
								
							 
						 
						
							
							
								
								simplify some code, BreakUpSubtract always returns nonnull now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 47251 
							
						 
						
							2008-02-18 02:18:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5f08ec854f 
								
							 
						 
						
							
							
								
								fix pasto  
							
							 
							
							... 
							
							
							
							llvm-svn: 47242 
							
						 
						
							2008-02-17 20:54:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a70d138457 
								
							 
						 
						
							
							
								
								Split up subtracts into add+negate if they have a reassociable use or operand  
							
							 
							
							... 
							
							
							
							that is also a subtract.  This implements PR2047 and Transforms/Reassociate/subtest2.ll 
llvm-svn: 47241 
							
						 
						
							2008-02-17 20:51:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								902537cd8d 
								
							 
						 
						
							
							
								
								make the logic for breaking up subtracts more explicit, no  
							
							 
							
							... 
							
							
							
							functionality change.
llvm-svn: 47239 
							
						 
						
							2008-02-17 20:44:51 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								70de4cb1cd 
								
							 
						 
						
							
							
								
								Use empty() instead of comparing size() with zero.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46514 
							
						 
						
							2008-01-29 13:02:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								e7da2d6ac3 
								
							 
						 
						
							
							
								
								Fix typo in comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36873 
							
						 
						
							2007-05-06 13:37:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							 
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e95c6ad802 
								
							 
						 
						
							
							
								
								Use 'static const char' instead of 'static const int'.  
							
							 
							
							... 
							
							
							
							Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652 
							
						 
						
							2007-05-02 21:39:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								2e54a15943 
								
							 
						 
						
							
							
								
								Prefer non-virtual calls to ConstantInt::isZero over virtual calls to  
							
							 
							
							... 
							
							
							
							Constant::isNullValue() in situations where it is possible.
llvm-svn: 34821 
							
						 
						
							2007-03-02 00:28:52 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								17797076ef 
								
							 
						 
						
							
							
								
								Use isUnitValue() instead of getZExtValue() == 1 which will prevent an  
							
							 
							
							... 
							
							
							
							assert if the ConstantInt's value is large.
llvm-svn: 34814 
							
						 
						
							2007-03-01 21:51:23 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6e0123b17f 
								
							 
						 
						
							
							
								
								Simplify code by using value::takename  
							
							 
							
							... 
							
							
							
							llvm-svn: 34176 
							
						 
						
							2007-02-11 01:23:03 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								557ab15e71 
								
							 
						 
						
							
							
								
								Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in  
							
							 
							
							... 
							
							
							
							the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939 
							
						 
						
							2007-02-05 23:32:05 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								2eadb5310d 
								
							 
						 
						
							
							
								
								For PR970:  
							
							 
							
							... 
							
							
							
							Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415 
							
						 
						
							2007-01-21 00:29:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								03c4953cdd 
								
							 
						 
						
							
							
								
								rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.  
							
							 
							
							... 
							
							
							
							rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent.  For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)
llvm-svn: 33225 
							
						 
						
							2007-01-15 02:27:26 +00:00  
						
					 
				
					
						
							
							
								 
								Zhou Sheng
							
						 
						
							 
							
							
							
							
								
							
							
								75b871fb1e 
								
							 
						 
						
							
							
								
								For PR1043:  
							
							 
							
							... 
							
							
							
							Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073 
							
						 
						
							2007-01-11 12:24:14 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								266e42b312 
								
							 
						 
						
							
							
								
								For PR950:  
							
							 
							
							... 
							
							
							
							This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.
llvm-svn: 32751 
							
						 
						
							2006-12-23 06:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								79a42ac941 
								
							 
						 
						
							
							
								
								Switch over Transforms/Scalar to use the STATISTIC macro.  For each statistic  
							
							 
							
							... 
							
							
							
							converted, we lose a static initializer.  This also allows GCC to emit warnings
about unused statistics.
llvm-svn: 32690 
							
						 
						
							2006-12-19 21:40:18 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								22e978a736 
								
							 
						 
						
							
							
								
								Removing even more <iostream> includes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32320 
							
						 
						
							2006-12-07 20:04:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								700b873130 
								
							 
						 
						
							
							
								
								Detemplatize the Statistic class.  The only type it is instantiated with  
							
							 
							
							... 
							
							
							
							is 'unsigned'.
llvm-svn: 32279 
							
						 
						
							2006-12-06 17:46:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								edcc8c2f8b 
								
							 
						 
						
							
							
								
								Remove the 'printname' argument to WriteAsOperand.  It is always true, and  
							
							 
							
							... 
							
							
							
							passing false would make the asmprinter fail anyway.
llvm-svn: 32264 
							
						 
						
							2006-12-06 06:16:21 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								7eb55b395f 
								
							 
						 
						
							
							
								
								For PR950:  
							
							 
							
							... 
							
							
							
							Replace the REM instruction with UREM, SREM and FREM.
llvm-svn: 31369 
							
						 
						
							2006-11-02 01:53:59 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								7e80b0b31e 
								
							 
						 
						
							
							
								
								For PR950:  
							
							 
							
							... 
							
							
							
							Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
llvm-svn: 31195 
							
						 
						
							2006-10-26 06:15:43 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c2d3d3112e 
								
							 
						 
						
							
							
								
								eliminate RegisterOpt.  It does the same thing as RegisterPass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29925 
							
						 
						
							2006-08-27 22:42:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e63d808b6e 
								
							 
						 
						
							
							
								
								Fix Transforms/Reassociate/2006-04-27-ReassociateVector.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 28007 
							
						 
						
							2006-04-28 04:14:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c5f866bb4a 
								
							 
						 
						
							
							
								
								Implement a FIXME, recusively reassociating  
							
							 
							
							... 
							
							
							
							A*A*B + A*A*C   -->   A*(A*B+A*C)   -->   A*(A*(B+C))
This implements Reassociate/mul-factor3.ll
llvm-svn: 26757 
							
						 
						
							2006-03-14 16:04:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2fc319d444 
								
							 
						 
						
							
							
								
								extract some code into a method, no functionality change  
							
							 
							
							... 
							
							
							
							llvm-svn: 26755 
							
						 
						
							2006-03-14 07:11:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d6bde46d85 
								
							 
						 
						
							
							
								
								Promote shifts by a constant to multiplies so that we can reassociate  
							
							 
							
							... 
							
							
							
							(x<<1)+(y<<1) -> (X+Y)<<1.  This implements
Transforms/Reassociate/shift-factor.ll
llvm-svn: 26753 
							
						 
						
							2006-03-14 06:55:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4c065091d8 
								
							 
						 
						
							
							
								
								Add factoring of multiplications, e.g. turning A*A+A*B into A*(A+B).  
							
							 
							
							... 
							
							
							
							Testcase here: Transforms/Reassociate/mulfactor.ll
llvm-svn: 26524 
							
						 
						
							2006-03-04 09:31:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c597b8a55e 
								
							 
						 
						
							
							
								
								Make iostream #inclusion explicit  
							
							 
							
							... 
							
							
							
							llvm-svn: 25514 
							
						 
						
							2006-01-22 23:32:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b5e381a8cf 
								
							 
						 
						
							
							
								
								Fix a problem that Dan Berlin noticed, where reassociation would not succeed  
							
							 
							
							... 
							
							
							
							in building maximal expressions before simplifying them.  In particular, i
cases like this:
X-(A+B+X)
the code would consider A+B+X to be a maximal expression (not understanding
that the single use '-' would be turned into a + later), simplify it (a noop)
then later get simplified again.
Each of these simplify steps is where the cost of reassociation comes from,
so this patch should speed up the already fast pass a bit.
Thanks to Dan for noticing this!
llvm-svn: 23214 
							
						 
						
							2005-09-02 07:07:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9fe263aa75 
								
							 
						 
						
							
							
								
								Avoid creating garbage instructions, just move the old add instruction  
							
							 
							
							... 
							
							
							
							to where we need it when converting -(A+B+C) -> -A + -B + -C.
llvm-svn: 23213 
							
						 
						
							2005-09-02 06:38:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d1325da091 
								
							 
						 
						
							
							
								
								add some assertions and fix problems where reassociate could access the  
							
							 
							
							... 
							
							
							
							Ops vector out of range
llvm-svn: 23211 
							
						 
						
							2005-09-02 05:23:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8ca5b2a6d2 
								
							 
						 
						
							
							
								
								Fix Regression/Transforms/Reassociate/2005-08-24-Crash.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 23019 
							
						 
						
							2005-08-24 17:55:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9f269e40c9 
								
							 
						 
						
							
							
								
								Use the new 'moveBefore' method to simplify some code.  Really, which is  
							
							 
							
							... 
							
							
							
							easier to understand?  :)
llvm-svn: 22706 
							
						 
						
							2005-08-08 19:11:57 +00:00  
						
					 
				
					
						
							
							
								 
								Jeff Cohen
							
						 
						
							 
							
							
							
							
								
							
							
								5f4ef3c5a8 
								
							 
						 
						
							
							
								
								Eliminate all remaining tabs and trailing spaces.  
							
							 
							
							... 
							
							
							
							llvm-svn: 22523 
							
						 
						
							2005-07-27 06:12:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								31c667e234 
								
							 
						 
						
							
							
								
								Fix Reassociate/shifttest.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 21839 
							
						 
						
							2005-05-10 03:39:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								df3332660f 
								
							 
						 
						
							
							
								
								Implement Reassociate/mul-neg-add.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 21788 
							
						 
						
							2005-05-08 21:41:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c4f8e2b0ed 
								
							 
						 
						
							
							
								
								Bail out earlier  
							
							 
							
							... 
							
							
							
							llvm-svn: 21786 
							
						 
						
							2005-05-08 21:33:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								877b114037 
								
							 
						 
						
							
							
								
								Teach reassociate that 0-X === X*-1  
							
							 
							
							... 
							
							
							
							llvm-svn: 21785 
							
						 
						
							2005-05-08 21:28:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9f284e0a3c 
								
							 
						 
						
							
							
								
								Fix PR557 and basictest[34].ll.  
							
							 
							
							... 
							
							
							
							This makes reassociate realize that loads should be treated as unmovable, and
gives distinct ranks to distinct values defined in the same basic block, allowing
reassociate to do its thing.
llvm-svn: 21783 
							
						 
						
							2005-05-08 20:57:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9187f3905e 
								
							 
						 
						
							
							
								
								Add debugging information  
							
							 
							
							... 
							
							
							
							llvm-svn: 21781 
							
						 
						
							2005-05-08 20:09:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								08582be283 
								
							 
						 
						
							
							
								
								eliminate gotos  
							
							 
							
							... 
							
							
							
							llvm-svn: 21780 
							
						 
						
							2005-05-08 19:48:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5847e5e10c 
								
							 
						 
						
							
							
								
								Improve reassociation handling of inverses, implementing inverses.ll.  
							
							 
							
							... 
							
							
							
							llvm-svn: 21778 
							
						 
						
							2005-05-08 18:59:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e1850b86b6 
								
							 
						 
						
							
							
								
								Refactor some code  
							
							 
							
							... 
							
							
							
							llvm-svn: 21772 
							
						 
						
							2005-05-08 00:19:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6e2086d7e4 
								
							 
						 
						
							
							
								
								Handle some simple cases where we can see that values get annihilated.  
							
							 
							
							... 
							
							
							
							llvm-svn: 21771 
							
						 
						
							2005-05-08 00:08:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1e5065052a 
								
							 
						 
						
							
							
								
								Rewrite the guts of the reassociate pass to be more efficient and logical.  Instead  
							
							 
							
							... 
							
							
							
							of trying to do local reassociation tweaks at each level, only process an expression
tree once (at its root).  This does not improve the reassociation pass in any real way.
llvm-svn: 21768 
							
						 
						
							2005-05-07 21:59:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cea579932d 
								
							 
						 
						
							
							
								
								Convert shifts to muls to assist reassociation.  This implements  
							
							 
							
							... 
							
							
							
							Reassociate/shifttest.ll
llvm-svn: 21761 
							
						 
						
							2005-05-07 04:24:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f43e974abd 
								
							 
						 
						
							
							
								
								Simplify the code and rearrange it.  No major functionality changes here.  
							
							 
							
							... 
							
							
							
							llvm-svn: 21759 
							
						 
						
							2005-05-07 04:08:02 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								b1c9317bb4 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 21427 
							
						 
						
							2005-04-21 23:48:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								531f9e92d4 
								
							 
						 
						
							
							
								
								This mega patch converts us from using Function::a{iterator|begin|end} to  
							
							 
							
							... 
							
							
							
							using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597 
							
						 
						
							2005-03-15 04:54:21 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								2b3387a6d9 
								
							 
						 
						
							
							
								
								Fix #includes of i*.h => Instructions.h as per PR403.  
							
							 
							
							... 
							
							
							
							llvm-svn: 15328 
							
						 
						
							2004-07-29 17:05:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9a63520b1a 
								
							 
						 
						
							
							
								
								Fixes working towards PR341  
							
							 
							
							... 
							
							
							
							llvm-svn: 14839 
							
						 
						
							2004-07-15 01:50:47 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								163c87fc32 
								
							 
						 
						
							
							
								
								Make this pass use a more specific debug message than "Processing:".  
							
							 
							
							... 
							
							
							
							llvm-svn: 14541 
							
						 
						
							2004-07-01 19:27:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								49525f8cf4 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							 
							
							... 
							
							
							
							llvm-svn: 10725 
							
						 
						
							2004-01-09 06:02:20 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								ad03afcb34 
								
							 
						 
						
							
							
								
								Declare FunctionPasses as such so that they can be used in FunctionPassManager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9768 
							
						 
						
							2003-11-07 17:20:18 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b94550e537 
								
							 
						 
						
							
							
								
								Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9269 
							
						 
						
							2003-10-19 21:34:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f95d9b99b3 
								
							 
						 
						
							
							
								
								Decrease usage of use_size()  
							
							 
							
							... 
							
							
							
							llvm-svn: 9135 
							
						 
						
							2003-10-15 16:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								e051f86a3d 
								
							 
						 
						
							
							
								
								Credits now go into the top-level CREDITS.TXT  
							
							 
							
							... 
							
							
							
							llvm-svn: 8662 
							
						 
						
							2003-09-22 21:57:56 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								7eb05a170a 
								
							 
						 
						
							
							
								
								Spell `necessary' correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7944 
							
						 
						
							2003-08-18 14:43:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8ac196dd3b 
								
							 
						 
						
							
							
								
								Assign arguments different ranks so they get grouped together  
							
							 
							
							... 
							
							
							
							llvm-svn: 7813 
							
						 
						
							2003-08-13 16:16:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								98b3ecddec 
								
							 
						 
						
							
							
								
								Fix bug: Reassociate/2003-08-12-InfiniteLoop.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 7792 
							
						 
						
							2003-08-12 21:45:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								58c7eb60ec 
								
							 
						 
						
							
							
								
								Assign finer grained ranks, make sure to reassociate top-level after reassociating bottom level  
							
							 
							
							... 
							
							
							
							llvm-svn: 7787 
							
						 
						
							2003-08-12 20:14:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8abcd56c74 
								
							 
						 
						
							
							
								
								DEBUG got moved to Support/Debug.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 7492 
							
						 
						
							2003-08-01 22:15:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3666378690 
								
							 
						 
						
							
							
								
								Fix spelling  
							
							 
							
							... 
							
							
							
							llvm-svn: 5983 
							
						 
						
							2003-05-02 19:26:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								889f620841 
								
							 
						 
						
							
							
								
								Remove unnecesary &*'s  
							
							 
							
							... 
							
							
							
							llvm-svn: 5872 
							
						 
						
							2003-04-23 16:37:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4869f3700e 
								
							 
						 
						
							
							
								
								Rename Instruction::hasSideEffects() -> mayWriteToMemory()  
							
							 
							
							... 
							
							
							
							llvm-svn: 5620 
							
						 
						
							2003-02-24 20:48:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3aa7767352 
								
							 
						 
						
							
							
								
								Fix a huge performance problem in reassociate by introducing a  
							
							 
							
							... 
							
							
							
							rank map cache for instruction ranks
llvm-svn: 5030 
							
						 
						
							2002-12-15 03:56:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f96c8befe0 
								
							 
						 
						
							
							
								
								Minor changes:  
							
							 
							
							... 
							
							
							
							* Reword comment to make more clear
  * Don't print out BB's after modification made
  * Don't delete and new an instruction when we need to move something, just move it.
llvm-svn: 5029 
							
						 
						
							2002-12-15 03:49:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8fdf75cde5 
								
							 
						 
						
							
							
								
								Fixes to the reassociate pass to make it respect dominance properties  
							
							 
							
							... 
							
							
							
							Huge thanks go to Casey Carter for writing this fix, reassociate is now
reoperational!
llvm-svn: 4471 
							
						 
						
							2002-10-31 17:12:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								820d971233 
								
							 
						 
						
							
							
								
								- Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to  
							
							 
							
							... 
							
							
							
							setPreservesCFG to be less confusing.
llvm-svn: 4255 
							
						 
						
							2002-10-21 20:00:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bf3a099a62 
								
							 
						 
						
							
							
								
								Updates to work with recent Statistic's changes:  
							
							 
							
							... 
							
							
							
							* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.
llvm-svn: 4002 
							
						 
						
							2002-10-01 22:38:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								28a8d2468a 
								
							 
						 
						
							
							
								
								Simplify code (somtimes dramatically), by using the new "auto-insert" feature  
							
							 
							
							... 
							
							
							
							of instruction constructors.
llvm-svn: 3656 
							
						 
						
							2002-09-10 17:04:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c8b7092e54 
								
							 
						 
						
							
							
								
								* Add support for different "PassType's"  
							
							 
							
							... 
							
							
							
							* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
llvm-svn: 3113 
							
						 
						
							2002-07-26 21:12:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10073a9080 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 3075 
							
						 
						
							2002-07-25 06:17:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b28b680155 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 3016 
							
						 
						
							2002-07-23 18:06:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								113f4f4609 
								
							 
						 
						
							
							
								
								MEGAPATCH checkin.  
							
							 
							
							... 
							
							
							
							For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779 
							
						 
						
							2002-06-25 16:13:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								71cbd42b98 
								
							 
						 
						
							
							
								
								Use the new DEBUG(x) macro to allow debugging code to be enabled on the commandline  
							
							 
							
							... 
							
							
							
							llvm-svn: 2713 
							
						 
						
							2002-05-22 17:17:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7bc532dded 
								
							 
						 
						
							
							
								
								* Make debug output conditional on #define  
							
							 
							
							... 
							
							
							
							* Add optimization to rank computation to not recursively search when
  unneccesary.
* More agressively negate expressions to open reassociation opportunities.
* Linearize (A+B)+(C+D) into ((A+B)+C)+D
llvm-svn: 2637 
							
						 
						
							2002-05-16 04:37:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0b18c1d64e 
								
							 
						 
						
							
							
								
								Add support for printing out statistics information when -stats is added to  
							
							 
							
							... 
							
							
							
							the command line
llvm-svn: 2601 
							
						 
						
							2002-05-10 15:38:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6bd7ac6205 
								
							 
						 
						
							
							
								
								Give the longer name to the instruction that will probably be eliminated later  
							
							 
							
							... 
							
							
							
							llvm-svn: 2581 
							
						 
						
							2002-05-09 20:11:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c0f5800678 
								
							 
						 
						
							
							
								
								Initial checkin of expression reassociation pass  
							
							 
							
							... 
							
							
							
							llvm-svn: 2559 
							
						 
						
							2002-05-08 22:19:27 +00:00