Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						edac9151fd 
					 
					
						
						
							
							InstCombine: Also turn selects fed by an and into arithmetic when the types don't match.  
						
						... 
						
						
						
						Inserting a zext or trunc is sufficient. This pattern is somewhat common in
LLVM's pointer mangling code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185270  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-29 21:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						4ee312bac1 
					 
					
						
						
							
							Revert r164763 because it introduces new shuffles.  
						
						... 
						
						
						
						Thanks Nick Lewycky for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181177  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-05-06 02:39:09 +00:00 
						 
				 
			
				
					
						
							
							
								David Majnemer 
							
						 
					 
					
						
						
							
						
						527db3f26b 
					 
					
						
						
							
							Fix a bug in foldSelectICmpAndOr.  
						
						... 
						
						
						
						Differences in bitwidth between X and Y could exist even if C1 and C2 have
the same Log2 representation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-30 10:36:33 +00:00 
						 
				 
			
				
					
						
							
							
								David Majnemer 
							
						 
					 
					
						
						
							
						
						defce4cfd6 
					 
					
						
						
							
							Fix "Combine bit test + conditional or into simple math"  
						
						... 
						
						
						
						This fixes the optimization introduced in r179748 and reverted in r179750.
While the optimization was sound, it did not properly respect differences in
bit-width.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180777  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-30 08:57:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jakub Staszak 
							
						 
					 
					
						
						
							
						
						9affd16361 
					 
					
						
						
							
							Keep coding stanard. Don't use "else if" after "return".  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179826  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-19 01:18:04 +00:00 
						 
				 
			
				
					
						
							
							
								David Majnemer 
							
						 
					 
					
						
						
							
						
						7754276c4c 
					 
					
						
						
							
							Revert "Combine bit test + conditional or into simple math"  
						
						... 
						
						
						
						It is causing stage2 builds to fail, let's get them running again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179750  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-18 08:42:33 +00:00 
						 
				 
			
				
					
						
							
							
								David Majnemer 
							
						 
					 
					
						
						
							
						
						a40a3a5981 
					 
					
						
						
							
							Combine bit test + conditional or into simple math  
						
						... 
						
						
						
						Simplify:
(select (icmp eq (and X, C1), 0), Y, (or Y, C2))
Into:
(or (shl (and X, C1), C3), y)
Where:
C3 = Log(C2) - Log(C1)
If:
C1 and C2 are both powers of two
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-18 07:30:07 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						03fceff6f6 
					 
					
						
						
							
							Tidy up a bit. No functional change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178915  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-05 21:20:12 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						d7216a28d6 
					 
					
						
						
							
							Check if Type is a vector before calling function Type::getVectorNumElements.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178208  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-03-28 01:28:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						d04a8d4b33 
					 
					
						
						
							
							Use the new script to sort the includes of every file under lib.  
						
						... 
						
						
						
						Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-12-03 16:50:05 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						82a1833865 
					 
					
						
						
							
							InstCombine: Fix an edge case where constant icmps could sneak into ConstantFoldInstOperands and crash.  
						
						... 
						
						
						
						Have to refactor the ConstantFolder interface one day to define bugs like this away. Fixes PR14131.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166374  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-20 08:43:52 +00:00 
						 
				 
			
				
					
						
							
							
								Micah Villmow 
							
						 
					 
					
						
						
							
						
						3574eca1b0 
					 
					
						
						
							
							Move TargetData to DataLayout.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-08 16:38:25 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						7e0e166d17 
					 
					
						
						
							
							Surprisingly, we missed a trivial case here. Fix that!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164814  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-09-28 09:33:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						466e0f38d3 
					 
					
						
						
							
							Prefer shuffles to selects. Backends love shuffles!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164763  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-09-27 08:33:56 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						75564e3514 
					 
					
						
						
							
							fix infinite loop in instcombine in the presence of a (malformed) self-referencing select inst.  
						
						... 
						
						
						
						This can happen as long as the instruction is not reachable. Instcombine does generate these unreachable malformed selects when doing RAUW
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160874  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-27 18:03:57 +00:00 
						 
				 
			
				
					
						
							
							
								Pete Cooper 
							
						 
					 
					
						
						
							
						
						7971de4178 
					 
					
						
						
							
							Simplify demanded bits of select sources where the condition is a constant vector  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160835  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-26 23:10:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						2f6622c7bf 
					 
					
						
						
							
							Fix a bug in FoldSelectOpOp. Bitcast ops may change the number of vector elements, which may disagree with the select condition type.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158166  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-07 20:28:57 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						37fa1c81ac 
					 
					
						
						
							
							InstCombine: Fix infinite loop when encountering switch on trivial icmp.  
						
						... 
						
						
						
						The test case feeds the following into InstCombine's visitSelect:
%tobool8 = icmp ne i32 0, 0
%phitmp = select i1 %tobool8, i32 3, i32 0
Then instcombine replaces the right side of the switch with 0, doesn't notice
that nothing changes and tries again indefinitely.
This fixes PR12897.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157587  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-28 19:18:16 +00:00 
						 
				 
			
				
					
						
							
							
								David Blaikie 
							
						 
					 
					
						
						
							
						
						4d6ccb5f68 
					 
					
						
						
							
							More dead code removal (using -Wunreachable-code)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-20 21:51:11 +00:00 
						 
				 
			
				
					
						
							
							
								Pete Cooper 
							
						 
					 
					
						
						
							
						
						4e5a1ab10b 
					 
					
						
						
							
							Added InstCombine for "select cond, ~cond, x" type patterns  
						
						... 
						
						
						
						These can be reduced to "~cond & x" or "~cond | x"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146624  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-15 00:56:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						aab8e28d5e 
					 
					
						
						
							
							Fix a few more places where TargetData/TargetLibraryInfo is not being passed.  
						
						... 
						
						
						
						Add FIXMEs to places that are non-trivial to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145661  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-02 01:26:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						11357d4f40 
					 
					
						
						
							
							Add a new icmp+select optz'n. Also shows off the load(cst) folding added in  
						
						... 
						
						
						
						r140966.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140969  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-02 10:37:37 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						267236ade3 
					 
					
						
						
							
							Enhance a couple places where we were doing constant folding of instructions,  
						
						... 
						
						
						
						but not load instructions. Noticed by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140966  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-02 09:12:55 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						747032522f 
					 
					
						
						
							
							Clean up includes of llvm/Analysis/ConstantFolding.h so it's included where it's used and not included where it isn't.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135628  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-20 21:57:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						1d2f569c34 
					 
					
						
						
							
							Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135477  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-19 13:32:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						db125cfaf5 
					 
					
						
						
							
							land David Blaikie's patch to de-constify Type, with a few tweaks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-18 04:54:35 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						00805fae5b 
					 
					
						
						
							
							PR10180: Fix a instcombine crash with FP vectors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133756  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-23 20:40:23 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						2c5cc68874 
					 
					
						
						
							
							ConstantFoldInstOperands doesn't like compares, hand it off to instsimplify instead.  
						
						... 
						
						
						
						Fixes PR10040.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132254  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-28 10:16:58 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						17c1bb5d55 
					 
					
						
						
							
							InstCombine: Make switch folding with equality compares more aggressive by trying instsimplify on the arm where we know the compared value.  
						
						... 
						
						
						
						Stuff like "x == y ? y : x&y" now folds into "x&y".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132185  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-27 13:00:16 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						976e7e1cc8 
					 
					
						
						
							
							Switch more inst insertion in instcombine to IRBuilder.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131547  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-18 18:10:28 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						1eca76a611 
					 
					
						
						
							
							Switch more inst insertion in instcombine to IRBuilder.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131544  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-18 17:58:37 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						e87ca454ba 
					 
					
						
						
							
							Switch inst insertion in instcombine transform to IRBuilder.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-18 17:31:55 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						2bf026e375 
					 
					
						
						
							
							Remove tabs I accidentally added.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128413  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-28 17:48:26 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						675619ca38 
					 
					
						
						
							
							Teach the transformation that moves binary operators around selects to preserve  
						
						... 
						
						
						
						the subclass optional data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128388  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-27 19:51:23 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						98cd75027c 
					 
					
						
						
							
							Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. This  
						
						... 
						
						
						
						removes one use of X which helps it pass the many hasOneUse() checks.
In my analysis, this turns up very often where X = A >>exact B and that can't be
simplified unless X has one use (except by increasing the lifetime of A which is
generally a performance loss).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128373  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-27 07:30:57 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						6b4972518c 
					 
					
						
						
							
							InstCombine: Fix a thinko where transform an icmp under the assumption that it's a zero comparison when it's not.  
						
						... 
						
						
						
						Fixes PR9454.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-11 11:37:40 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						df3bfae151 
					 
					
						
						
							
							Fold select + select where both selects are on the same condition.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-28 03:28:10 +00:00 
						 
				 
			
				
					
						
							
							
								Tobias Grosser 
							
						 
					 
					
						
						
							
						
						aa2be84356 
					 
					
						
						
							
							Instcombine: Fix pattern where the sext did not dominate the icmp using it  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123121  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-09 16:00:11 +00:00 
						 
				 
			
				
					
						
							
							
								Frits van Bommel 
							
						 
					 
					
						
						
							
						
						b686eb9186 
					 
					
						
						
							
							Fix a bug in r123034 (trying to sext/zext non-integers) and clean up a little.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123061  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-08 10:51:36 +00:00 
						 
				 
			
				
					
						
							
							
								Tobias Grosser 
							
						 
					 
					
						
						
							
						
						46431d7a93 
					 
					
						
						
							
							InstCombine: Match min/max hidden by sext/zext  
						
						... 
						
						
						
						X = sext x; x >s c ? X : C+1 --> X = sext x; X <s C+1 ? C+1 : X
X = sext x; x <s c ? X : C-1 --> X = sext x; X >s C-1 ? C-1 : X
X = zext x; x >u c ? X : C+1 --> X = zext x; X <u C+1 ? C+1 : X
X = zext x; x <u c ? X : C-1 --> X = zext x; X >u C-1 ? C-1 : X
X = sext x; x >u c ? X : C+1 --> X = sext x; X <u C+1 ? C+1 : X
X = sext x; x <u c ? X : C-1 --> X = sext x; X >u C-1 ? C-1 : X
Instead of calculating this with mixed types promote all to the
larger type. This enables scalar evolution to analyze this
expression. PR8866
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123034  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-07 21:33:14 +00:00 
						 
				 
			
				
					
						
							
							
								Tobias Grosser 
							
						 
					 
					
						
						
							
						
						8d088bd1e4 
					 
					
						
						
							
							Some whitespace fixes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123033  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-07 21:33:13 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						4ac19470dc 
					 
					
						
						
							
							InstCombine: creating selects from -1 and 0 is fine, they combine into a sext from i1.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122453  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-22 23:12:15 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						2f7228b80c 
					 
					
						
						
							
							Generalize the and-icmp-select instcombine further by allowing selects of the form  
						
						... 
						
						
						
						(x & 2^n) ? 2^m+C : C
we can offset both arms by C to get the "(x & 2^n) ? 2^m : 0" form, optimize the
select to a shift and apply the offset afterwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-11 10:49:22 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						20e3b4b380 
					 
					
						
						
							
							Factor the (x & 2^n) ? 2^m : 0 instcombine into its own method and generalize it  
						
						... 
						
						
						
						to catch cases where n != m with a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121608  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-11 09:42:59 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						f514f52790 
					 
					
						
						
							
							Teach InstCombine not to use Add and Neg on FP.  PR 8490.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117510  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-27 23:45:18 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						835d425a16 
					 
					
						
						
							
							Remove the rest of my instcombine changes.  Back to the drawing board on this one.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108530  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 16:39:00 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						11acba0470 
					 
					
						
						
							
							Speculatively revert r108429 to fix the clang self-host.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108436  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 18:18:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						40bf5e7a68 
					 
					
						
						
							
							Per Chris' suggestion, get rid of the select canonicalization and just add  
						
						... 
						
						
						
						the corresponding or-icmp-and pattern.  This has the added benefit of doing
the matching earlier, and thus being less susceptible to being confused by
earlier transforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108429  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 17:24:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						96fe621e07 
					 
					
						
						
							
							Reapply r108378, with bugfixes, testcase, and improved comment formatting.  
						
						... 
						
						
						
						This now passes LIT, nighty test, and llvm-gcc bootstrap on my machine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108422  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 15:00:23 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						5e84e8e52a 
					 
					
						
						
							
							Speculatively revert r108378; may be causing bootstrap failures.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 00:33:00 +00:00