Chris Lattner 
							
						 
					 
					
						
						
							
						
						515c97c230 
					 
					
						
						
							
							Simplify code  
						
						... 
						
						
						
						Implement InstCombine/mul.ll:test9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8488  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-11 22:24:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						065a616ada 
					 
					
						
						
							
							Fix spell-o's  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-10 05:29:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aa9c1f13a1 
					 
					
						
						
							
							Implement instcombine optimizations:  
						
						... 
						
						
						
						(A <setcc1> B) logicalop (A <setcc2> B)  -> (A <setcc3> B) or true or false
Where setcc[123] is one of the 6 setcc instructions, and logicalop is one of: And, Or, Xor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7828  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-13 20:16:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						564a727969 
					 
					
						
						
							
							Generalize some of the add tests to allow for reassociation to take place  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7825  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-13 19:01:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3ccd17ea2a 
					 
					
						
						
							
							Implement InstCombine/2003-08-12-AllocaNonNull.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7807  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-13 05:38:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						934754bed6 
					 
					
						
						
							
							Do not cannonicalize (X != 0) into (cast X to bool)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-13 05:33:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e92d2f450a 
					 
					
						
						
							
							Change cannonicalization rules: add X,X is represented as multiplies, multiplies  
						
						... 
						
						
						
						of a power of two are represented as a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7803  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-13 04:18:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						df17af1dc7 
					 
					
						
						
							
							Allow pulling logical operations through shifts.  
						
						... 
						
						
						
						This implements InstCombine/shift.ll:test14*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7793  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-12 21:53:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e132d95b62 
					 
					
						
						
							
							Simplify code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7783  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-12 19:17:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						67ca768927 
					 
					
						
						
							
							Implement testcases InstCombine/or.ll:test16/test17  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7782  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-12 19:11:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						943c713c65 
					 
					
						
						
							
							Instcombine: (A >> c1) << c2 for signed integers  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7295  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-24 18:38:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						08fd7abb42 
					 
					
						
						
							
							Reorganization of code, no functional changes.  
						
						... 
						
						
						
						Now it shoudl be a bit more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7292  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-24 17:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						24c8e38455 
					 
					
						
						
							
							Allow folding several instructions into casts, which can simplify a lot  
						
						... 
						
						
						
						of codes.  For example,
short kernel (short t1) {
  t1 >>= 8; t1 <<= 8;
  return t1;
}
became:
short %kernel(short %t1.1) {
        %tmp.3 = shr short %t1.1, ubyte 8               ; <short> [#uses=1]
        %tmp.5 = cast short %tmp.3 to int               ; <int> [#uses=1]
        %tmp.7 = shl int %tmp.5, ubyte 8                ; <int> [#uses=1]
        %tmp.8 = cast int %tmp.7 to short               ; <short> [#uses=1]
        ret short %tmp.8
}
before, now it becomes:
short %kernel(short %t1.1) {
        %tmp.3 = shr short %t1.1, ubyte 8               ; <short> [#uses=1]
        %tmp.8 = shl short %tmp.3, ubyte 8              ; <short> [#uses=1]
        ret short %tmp.8
}
which will become:
short %kernel(short %t1.1) {
        %tmp.3 = and short %t1.1, 0xFF00
        ret short %tmp.3
}
This implements cast-set.ll:test4 and test5
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7290  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-24 17:35:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2cd9196e87 
					 
					
						
						
							
							Add comments  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7283  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 21:41:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eca0c5c379 
					 
					
						
						
							
							Remove explicit check for: not (not X) = X, it is already handled because xor is commutative  
						
						... 
						
						
						
						- InstCombine: (X & C1) ^ C2 --> (X & C1) | C2 iff (C1&C2) == 0
  - InstCombine: (X | C1) ^ C2 --> (X | C1) & ~C2 iff (C1&C2) == C2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7282  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 21:37:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						06782f804f 
					 
					
						
						
							
							InstCombine: (X ^ C1) & C2 --> (X & C2) iff (C1&C2) == 0  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7272  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 19:36:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5840326ae6 
					 
					
						
						
							
							- InstCombine: (X | C1) & C2 --> X & C2 iff C1 & C1 == 0  
						
						... 
						
						
						
						- InstCombine: (X | C) & C --> C
  - InstCombine: (X | C1) & C2 --> (X | (C1&C2)) & C2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 19:25:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ad44ebfff0 
					 
					
						
						
							
							IC: (X & C1) | C2 --> (X | C2) & (C1|C2)  
						
						... 
						
						
						
						IC: (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2)
We are now guaranteed that all 'or's will be inside of 'and's, and all 'and's
will be inside of 'xor's, if the second operands are constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7264  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 18:29:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c6a8aff3f6 
					 
					
						
						
							
							IC: (X ^ C1) & C2 --> (X & C2) ^ (C1&C2)  
						
						... 
						
						
						
						Minor code cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7262  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 17:57:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						00b1a7e23e 
					 
					
						
						
							
							InstCombine: (X ^ 4) == 8  --> X == 12  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7260  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 17:26:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bc5d414823 
					 
					
						
						
							
							IC: (X & 5) == 13 --> false  
						
						... 
						
						
						
						IC: (X | 8) == 4  --> false
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7257  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 17:02:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c07736a397 
					 
					
						
						
							
							Simplify code by using ConstantInt::getRawValue instead of checking to see  
						
						... 
						
						
						
						whether the constant is signed or unsigned, then casting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 15:22:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1ba5bcd1ae 
					 
					
						
						
							
							- InstCombine (cast (xor A, B) to bool) ==> (setne A, B)  
						
						... 
						
						
						
						- InstCombine (cast (and X, (1 << size(X)-1)) to bool) ==> x < 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7241  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-22 21:46:59 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						067947380c 
					 
					
						
						
							
							Added code that checks to see if a global variable is external before replacing  
						
						... 
						
						
						
						a load of the global variable with the variable's constant value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7216  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-21 19:42:57 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						a676b78791 
					 
					
						
						
							
							Dinakar and I fixed a bug where we were trying to get the initializer of  
						
						... 
						
						
						
						an external constant.  Since external constants don't have initializers, we
were failing on an assert() call in llvm/GlobalVariable.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7193  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-17 19:06:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						833b8a4181 
					 
					
						
						
							
							Add support for elimination of load instruction from global constants  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6912  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-26 05:06:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0af1fab019 
					 
					
						
						
							
							Instcombine:  X * -1 -> -X  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6904  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-25 17:09:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						79d35b3f8b 
					 
					
						
						
							
							Implement new transforms:  
						
						... 
						
						
						
						Replace (cast (sub A, B) to bool) -> (setne A, B)
  Replace (cast (add A, B) to bool) -> (setne A, -B)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6873  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-23 21:59:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						797249bc13 
					 
					
						
						
							
							Instcombine cast (getelementptr Ptr, 0, 0, 0) to ... into: cast Ptr to ...  
						
						... 
						
						
						
						This fixes type safety problems in a variety of benchmarks that were confusing
DSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6837  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-21 23:12:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9fe3886678 
					 
					
						
						
							
							Implement the functionality of InstCombine/call.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6783  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-19 17:00:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b5fd22bd9 
					 
					
						
						
							
							Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6630  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-05 20:12:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						40f5d70db4 
					 
					
						
						
							
							Clean up previous code.  
						
						... 
						
						
						
						Add new combination to turn seteq X, 0 -> not(cast X to bool)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-04 05:10:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c4d10ebcd7 
					 
					
						
						
							
							Implement combination of boolean not with branch  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6599  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-04 04:46:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						074d84c746 
					 
					
						
						
							
							Implement xform: (X != 0) -> (bool)X  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-01 03:35:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2a9c847f25 
					 
					
						
						
							
							Fix bug: Instcombine/2003-05-27-ConstExprCrash.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6352  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-27 16:40:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bd4ecf769d 
					 
					
						
						
							
							Fix bug: InstCombine/2003-05-26-CastMiscompile.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-26 23:41:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c54e2b8f84 
					 
					
						
						
							
							Minor cleanups.  
						
						... 
						
						
						
						This hunk:
-    } else if (Src->getNumOperands() == 2 && Src->use_size() == 1) {
+    } else if (Src->getNumOperands() == 2) {
Allows GEP folding to be more aggressive, which reduces the number of instructions
and can dramatically speed up BasicAA in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6286  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-22 19:07:21 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						f117cc9ee6 
					 
					
						
						
							
							s/convertable/convertible/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-20 18:45:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3f2ec3925f 
					 
					
						
						
							
							Fix another case where constexprs could cause a crash  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5972  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-04-30 22:34:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fe32e0c578 
					 
					
						
						
							
							Fix constant folding of constexprs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5971  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-04-30 22:19:10 +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 
							
						 
					 
					
						
						
							
						
						c8802d2c16 
					 
					
						
						
							
							Add the following instcombine xforms:  
						
						... 
						
						
						
						- Implement simple reassociation: (A|c1)|(B|c2) == (A|B)|(c1|c2)
  - (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
  - (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5743  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-11 00:12:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4f445b28c 
					 
					
						
						
							
							Implement: -A*-B == A*B  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 23:23:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a27231acc0 
					 
					
						
						
							
							Add new transformation: // (~A | ~B) == (~(A & B))  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 23:13:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8d96964e29 
					 
					
						
						
							
							Generalize not and neg comparison testers to allow constant to be considered not'able and neg'able.  This  
						
						... 
						
						
						
						allows optimization of this:
int %test4(int %A, int %B) {
        %a = xor int %A, -1
        %c = and int %a, 5    ; 5 = ~c2
        %d = xor int %c, -1
        ret int %d
}
into this:
int %test4(int %A, int %B) {            ; No predecessors!
        %c.demorgan = or int %A, -6             ; <int> [#uses=1]
        ret int %c.demorgan
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5736  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 23:06:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4f98c56936 
					 
					
						
						
							
							Generalize (A+c1)+c2 optimization to work with all associative operators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5733  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 21:43:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						28ba1aad99 
					 
					
						
						
							
							Minor change, no functionality diff  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5731  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 19:20:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ea34005404 
					 
					
						
						
							
							Fix bug: (x << 100) wasn't folded to 0, but (x >> 100) was (when x is unsigned)  
						
						... 
						
						
						
						Implement new shift optimizations for shifting the result of a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5729  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 19:16:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cb40a3749a 
					 
					
						
						
							
							Implement:  (A|B)^B == A & (~B)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5728  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-10 18:24:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						decd0812ec 
					 
					
						
						
							
							Implement %test7 in InstCombine/getelementptr.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-05 22:33:14 +00:00