Dan Gohman 
							
						 
					 
					
						
						
							
						
						c88c1a4581 
					 
					
						
						
							
							Watch out for a constant offset cancelling out a base register, forming  
						
						... 
						
						
						
						a zero. This situation arrises in Fortran code with induction variables
that start at 1 instead of 0. This fixes PR7651.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108424  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 15:14:45 +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 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						706f50820c 
					 
					
						
						
							
							This is a full sentence.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:51:22 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						664040a03c 
					 
					
						
						
							
							Disable aliases on all platforms.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108417  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:48:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						35a939b97d 
					 
					
						
						
							
							make various clients of ReplaceAndSimplifyAllUses tolerate  
						
						... 
						
						
						
						it *changing* the things it replaces, not just causing them
to drop to null.  There is no functionality change yet, but 
this is required for a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108414  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:06:04 +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 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						bd129a7460 
					 
					
						
						
							
							Add instcombine transforms to optimize tests of multiple bits of the same value into a single larger comparison.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108378  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 23:33:51 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e84178a0bd 
					 
					
						
						
							
							Extend SimplifyCFG's common-destination folding heuristic to allow a single  
						
						... 
						
						
						
						"bonus" instruction to be speculatively executed.  Add a heuristic to
ensure we're not tripping up out-of-order execution by checking that this bonus
instruction only uses values that were already guaranteed to be available.
This allows us to eliminate the short circuit in (x&1)&&(x&2).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108351  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 19:52:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						07c9b64719 
					 
					
						
						
							
							revert r108320, I see the failures now...  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108322  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 06:16:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7e185af930 
					 
					
						
						
							
							reapply benjamin's instcombine patch, I don't see anything wrong with it and can't repro any problems with a manual self-host.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108320  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 05:59:13 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						f0193ed8de 
					 
					
						
						
							
							Grammar.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-13 18:27:13 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						d0d3ccc827 
					 
					
						
						
							
							Handle the case of a tail recursion in which the tail call is followed  
						
						... 
						
						
						
						by a return that returns a constant, while elsewhere in the function
another return instruction returns a different constant.  This is a
special case of accumulator recursion, so just generalize the existing
logic a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108241  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-13 15:41:41 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						c9fe6374b7 
					 
					
						
						
							
							Nope, still breaks the release selfhost bots :(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108153  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 16:38:48 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						8fd437c43f 
					 
					
						
						
							
							Reapply the "or" half of r108136, which seems to be less problematic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 16:15:48 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a9b8338bfa 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108150  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 15:48:26 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						e2d07b5208 
					 
					
						
						
							
							Revert r108141 again, sigh.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108148  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						40119ceeec 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:15:58 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a53029b1fc 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:15:10 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						65b9212d34 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:14:03 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						aaaaa02a93 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108144  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:13:15 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						b7df500063 
					 
					
						
						
							
							cache results of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108143  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:12:11 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						ee1f44fba3 
					 
					
						
						
							
							cache results of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 14:10:24 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						98a8206e58 
					 
					
						
						
							
							Reapply 108136 with an ugly pasto fixed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108141  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 13:44:00 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						ad854f0764 
					 
					
						
						
							
							Move optimization to avoid redundant matching.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108140  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 13:34:22 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						0cc4ed1ca5 
					 
					
						
						
							
							Revert r108136 until I figure out why it broke selfhost.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108139  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 12:35:49 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						110b75aa75 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108138  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 12:03:02 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						639e9e47a2 
					 
					
						
						
							
							recommit r108131 (hich has been backed out in r108135) with a fix  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108137  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 12:02:10 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						4fc719e607 
					 
					
						
						
							
							instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^ z which is one instruction shorter. (PR6773)  
						
						... 
						
						
						
						before:
  %and = and i32 %y, %x
  %neg = xor i32 %x, -1
  %and4 = and i32 %z, %neg
  %xor = xor i32 %and4, %and
after:
  %xor1 = xor i32 %z, %y
  %and2 = and i32 %xor1, %x
  %xor = xor i32 %and2, %z
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108136  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 11:54:45 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						e99e077522 
					 
					
						
						
							
							back out r108131 (of TailDuplication.cpp) for now, it causes a buildbot failure  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108135  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 11:32:39 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						fc41f90817 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 11:19:24 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						625398343e 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 10:59:23 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						f1b2874c68 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 10:49:54 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a8b9df7bd9 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108131  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 10:36:48 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						3472766f9e 
					 
					
						
						
							
							Convert some tab stops into spaces.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 08:16:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5a30a8574c 
					 
					
						
						
							
							make the prototypes for CreateMalloc and CreateFree more consistent.  Patch  
						
						... 
						
						
						
						by Hans Vandierendonck from PR7605
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108116  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 00:57:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0a96144aac 
					 
					
						
						
							
							if jump threading is able to infer interesting values on both  
						
						... 
						
						
						
						the LHS and RHS of an and/or instruction, don't multiply add
known predecessor values.  This fixes the crash on testcase
from PR7498
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108114  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 00:47:34 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						24080a9878 
					 
					
						
						
							
							The accumulator tail recursion transform claims to work for any associative  
						
						... 
						
						
						
						operation, but the way it's implemented requires the operation to also be
commutative.  So add a check for commutativity (and tweak the corresponding
comments).  This makes no difference in practice since every associative
LLVM instruction is also commutative!  Here's an example to show the need
for commutativity: the accum_recursion.ll testcase calculates the factorial
function.  Before the transformation the result of a call is
  ((((1*1)*2)*3)...)*x
while afterwards it is
  (((1*x)*(x-1))...*2)*1
which clearly requires both associativity and commutativity of * to be equal
to the original.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108056  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-10 20:31:42 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						e664267ae7 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107990  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:51:20 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9085fcab82 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:31:08 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						bf2eefdb0d 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107983  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:26:41 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						e80ba4f884 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107981  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:17:52 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						7656018c22 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107976  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:40:10 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						7556cf541b 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107975  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:25:42 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						5896935423 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107974  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:25:09 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						fc36c0f21f 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107972  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:01:36 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						1d3ae029c4 
					 
					
						
						
							
							cache result of operator* (found by inspection)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107971  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:48:08 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						0814985887 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107969  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:36:49 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a29742df5f 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107968  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:29:14 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						5417a03b55 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107966  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:18:23 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9672414017 
					 
					
						
						
							
							cache operator*'s result (in multiple functions)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:02:13 +00:00