Reid Spencer 
							
						 
					 
					
						
						
							
						
						727992c30a 
					 
					
						
						
							
							Implement isMinValuePlusOne using facilities of APInt instead of uint64_t  
						
						... 
						
						
						
						Patch by Zhou Sheng.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35187  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 21:08:07 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						44e33e674a 
					 
					
						
						
							
							Implement isOneBitSet in terms of APInt::countPopulation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35186  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 21:04:43 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						5a1e3e1a7d 
					 
					
						
						
							
							1. Use APInt::getSignBit to reduce clutter (patch by Sheng Zhou)  
						
						... 
						
						
						
						2. Replace uses of the "isPositive" utility function with APInt::isPositive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35185  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 20:58:18 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						8439bc8d69 
					 
					
						
						
							
							Remove a redundant clause in an if statement.  
						
						... 
						
						
						
						Patch by Sheng Zhou.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35184  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 20:47:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a9d1a843fc 
					 
					
						
						
							
							fix ScalarRepl/2007-03-19-CanonicalizeMemcpy.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35169  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 18:25:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8bf9911932 
					 
					
						
						
							
							implement the next chunk of SROA with memset/memcpy's of aggregates.  This  
						
						... 
						
						
						
						implements Transforms/ScalarRepl/memset-aggregate-byte-leader.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35150  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 00:16:43 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						3f64b1ab1d 
					 
					
						
						
							
							Clean up this code and fix subtract miscompile.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-18 22:58:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						318bf7963a 
					 
					
						
						
							
							Implement InstCombine/and-xor-merge.ll:test[12].  
						
						... 
						
						
						
						Rearrange some code to simplify it now that shifts are binops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-18 22:51:34 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						1eda0f60d7 
					 
					
						
						
							
							Propagate ValueRanges across equality.  
						
						... 
						
						
						
						Add some more micro-optimizations: x * 0 = 0, a - x = a --> x = 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35138  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-18 01:09:32 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						1cc6452181 
					 
					
						
						
							
							Silence warning  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35137  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-17 14:48:06 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						4c70875774 
					 
					
						
						
							
							Add more comments and update to new asm syntax.  
						
						... 
						
						
						
						Add new micro-optimizations.
Add icmp predicate snuggling. Given %x ULT 4, "icmp ugt %x, 2" becomes
"icmp eq %x, 3". This doesn't apply in any non-trivial cases yet due to missing
support for NE values in ValueRanges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35119  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 02:37:39 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						adc149549d 
					 
					
						
						
							
							ShiftAmt might equal to zero. Handle this situation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-14 09:07:33 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						9670445cd4 
					 
					
						
						
							
							Enable KnownZero/One.clear().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-14 03:21:24 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1d95816db5 
					 
					
						
						
							
							Correct type info for isLegalAddressImmediate() check.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-13 20:34:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bc1dbfce62 
					 
					
						
						
							
							ifdef out some dead code.  
						
						... 
						
						
						
						Fix PR1244 and Transforms/InstCombine/2007-03-13-CompareMerge.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35082  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-13 14:27:42 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						b277b16593 
					 
					
						
						
							
							For expression like  
						
						... 
						
						
						
						"APInt::getAllOnesValue(ShiftAmt).zextOrCopy(BitWidth)",
to handle ShiftAmt == BitWidth situation, use zextOrCopy() instead of
zext().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35080  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-13 06:40:59 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						771dbf7677 
					 
					
						
						
							
							In APInt version ComputeMaskedBits():  
						
						... 
						
						
						
						1. Ensure VTy, KnownOne and KnownZero have same bitwidth.
  2. Make code more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35078  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-13 02:23:10 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5eef2d21a0 
					 
					
						
						
							
							Use new TargetLowering addressing modes hooks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35072  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 23:27:37 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						c4558fde76 
					 
					
						
						
							
							Unbreak VC++ build.  Do not use identifiers starting with _ as they are reserved and  
						
						... 
						
						
						
						can collide with system defined names.  Windows defines _BB, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35066  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 17:56:27 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						8cb6834ccf 
					 
					
						
						
							
							Add an APInt version of SimplifyDemandedBits.  
						
						... 
						
						
						
						Patch by Zhou Sheng.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35064  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 17:25:59 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						6b79e2d202 
					 
					
						
						
							
							Add an APInt version of ShrinkDemandedConstant.  
						
						... 
						
						
						
						Patch by Zhou Sheng.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35063  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 17:15:10 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						edd089c86a 
					 
					
						
						
							
							Avoid to assert on "(KnownZero & KnownOne) == 0".  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35062  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 16:54:56 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						430f626937 
					 
					
						
						
							
							In function ComputeMaskedBits():  
						
						... 
						
						
						
						1. Replace getSignedMinValue() with getSignBit() for better code readability.
  2. Replace APIntOps::shl() with operator<<= for convenience.
  3. Make APInt construction more effective.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 05:44:52 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						e677a0b099 
					 
					
						
						
							
							Add value ranges. Currently inefficient in both execution time and  
						
						... 
						
						
						
						optimization power.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-10 18:12:48 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						e2ff29c17c 
					 
					
						
						
							
							Use range tests in LowerSwitch, where possible  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35057  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-10 16:46:28 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f7543fe35a 
					 
					
						
						
							
							Remove dead comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35053  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-09 23:41:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a5b7dc5ef8 
					 
					
						
						
							
							Avoid recursion. Use iterative algorithm for RenamePass().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35052  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-09 23:39:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4fe26582c0 
					 
					
						
						
							
							Increment iterator now because IVUseShouldUsePostIncValue may remove  
						
						... 
						
						
						
						User from the list of I users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35051  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-09 21:19:53 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						a47f60bfaf 
					 
					
						
						
							
							Fix a bug in function ComputeMaskedBits().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35027  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 15:15:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						97f9df1cd1 
					 
					
						
						
							
							This appears correct, enable it so we can see perf changes on testers  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35024  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 07:03:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c14d3cac4b 
					 
					
						
						
							
							Second half of PR1226.  This is currently still disabled, until I have a chance to  
						
						... 
						
						
						
						do the correctness/performance analysis testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35023  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 06:36:54 +00:00 
						 
				 
			
				
					
						
							
							
								Zhou Sheng 
							
						 
					 
					
						
						
							
						
						9a28daa864 
					 
					
						
						
							
							Fix a bug in APIntified ComputeMaskedBits().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35022  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 05:42:00 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						e7816b5c9e 
					 
					
						
						
							
							For PR1205:  
						
						... 
						
						
						
						Provide an APIntified version of MaskedValueIsZero. This will (temporarily)
cause a "defined but not used" message from the compiler. It will be used
in the next patch in this series.
Patch by Sheng Zhou.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35019  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 01:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						3e7594f187 
					 
					
						
						
							
							For PR1205:  
						
						... 
						
						
						
						Add a new ComputeMaskedBits function that is APIntified. We'll slowly
convert things over to use this version. When its all done, we'll remove
the existing version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35018  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 01:46:38 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5ee9997906 
					 
					
						
						
							
							Now IndVarSimplify is a LoopPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35003  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-07 06:39:01 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						54959d6cf6 
					 
					
						
						
							
							Now LICM is a LoopPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35001  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-07 04:41:30 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3f1a1e0366 
					 
					
						
						
							
							Now LoopUnroll is a LoopPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34996  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-07 01:38:05 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1bc89361c2 
					 
					
						
						
							
							Now LoopUnswitch is a LoopPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34992  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-07 00:26:10 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0f54dcbf07 
					 
					
						
						
							
							Now LoopStrengthReduce is a LoopPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 21:14:09 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						baf1e4b914 
					 
					
						
						
							
							Remove an unnecessary if statement and adjust indentation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34939  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-05 23:36:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						372dda8881 
					 
					
						
						
							
							This is the first major step of implementing PR1226.  We now successfully  
						
						... 
						
						
						
						scalarrepl things down to elements, but mem2reg can't promote elements that
are memset/memcpy'd.  Until then, the code is disabled "0 &&".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34924  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-05 07:52:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3c69849696 
					 
					
						
						
							
							fix a subtle bug that caused an MSVC warning.  Thanks to Jeffc for pointing this out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-05 00:11:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						783ccdb5c4 
					 
					
						
						
							
							Add some simplifications for demanded bits, this allows instcombine to turn:  
						
						... 
						
						
						
						define i64 @test(i64 %A, i32 %B) {
        %tmp12 = zext i32 %B to i64             ; <i64> [#uses=1]
        %tmp3 = shl i64 %tmp12, 32              ; <i64> [#uses=1]
        %tmp5 = add i64 %tmp3, %A               ; <i64> [#uses=1]
        %tmp6 = and i64 %tmp5, 123              ; <i64> [#uses=1]
        ret i64 %tmp6
}
into:
define i64 @test(i64 %A, i32 %B) {
        %tmp6 = and i64 %A, 123         ; <i64> [#uses=1]
        ret i64 %tmp6
}
This implements Transforms/InstCombine/add2.ll:test1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34919  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-05 00:02:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						ca5183d445 
					 
					
						
						
							
							Unbreak VC++ build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-05 00:00:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d5fa214729 
					 
					
						
						
							
							simplify some code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34914  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 23:16:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						57939df2eb 
					 
					
						
						
							
							minor cleanups  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34904  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 04:50:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f964f321eb 
					 
					
						
						
							
							Speed up -instcombine by 20% by avoiding a particularly expensive passmgr call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34902  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 04:27:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						55091782c1 
					 
					
						
						
							
							switch MarkAliveBlocks over to using SmallPtrSet instead of std::set, speeding  
						
						... 
						
						
						
						up simplifycfg by 20%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34901  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 04:20:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f3d738866 
					 
					
						
						
							
							make better use of LCSSA information in RewriteLoopExitValues.  Before, we  
						
						... 
						
						
						
						would scan the entire loop body, then scan all users of instructions in the
loop, looking for users outside the loop.  Now, since we know that the
loop is in LCSSA form, we know that any users outside the loop will be LCSSA
phi nodes.  Just scan them.
This speeds up indvars significantly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34898  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 03:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9caed5440d 
					 
					
						
						
							
							Implement PR1179/PR1232 and test/Transforms/IndVarsSimplify/loop_evaluate_[234].ll  
						
						... 
						
						
						
						This makes -indvars require and use LCSSA, updating it as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34896  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 01:00:28 +00:00