Devang Patel 
							
						 
					 
					
						
						
							
						
						86b6f80a4c 
					 
					
						
						
							
							Check for side effects before splitting loop.  
						
						... 
						
						
						
						Patch by Jakub Staszak!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102928  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-03 18:06:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d2075586c8 
					 
					
						
						
							
							add newlines at the end of files.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100705  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-07 22:53:17 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						09a695e396 
					 
					
						
						
							
							Remove  tests that checks @llvm.dbg.stoppoint handling.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97493  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-01 20:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						aceba31b7a 
					 
					
						
						
							
							Delete useless trailing semicolons.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 17:55:26 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f2f6ce65b7 
					 
					
						
						
							
							Change tests from "opt %s" to "opt < %s" so that opt doesn't see the  
						
						... 
						
						
						
						input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-11 18:01:28 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3e054fe9ef 
					 
					
						
						
							
							Use opt -S instead of piping bitcode output through llvm-dis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-08 22:34:10 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b1e1e82c54 
					 
					
						
						
							
							Change these tests to feed the assembly files to opt directly, instead  
						
						... 
						
						
						
						of using llvm-as, now that opt supports this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-08 16:50:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						de64894dc3 
					 
					
						
						
							
							Fix PR3913, patch by Jakub Staszak!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80327  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 00:43:14 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f7ca1611e2 
					 
					
						
						
							
							Don't try to split a loop when the controlling icmp instruction  
						
						... 
						
						
						
						doesn't have an IV-based operand. This fixes PR4471.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74399  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-27 22:58:27 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae3a0be92e 
					 
					
						
						
							
							Split the Add, Sub, and Mul instruction opcodes into separate  
						
						... 
						
						
						
						integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-04 22:49:04 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b23c232fc8 
					 
					
						
						
							
							Loop Index Split can eliminate a loop if it can determin if loop body is executed only once. There was a bug in determining IV based value of the iteration for which the loop body is executed. Fix it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68071  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-30 22:24:10 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						cf42ee42b1 
					 
					
						
						
							
							If branch conditions' one successor is dominating another non-latch successor then this loop's iteration space can not be restricted. In this example block bb5 is always executed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65902  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-02 23:39:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d96c60df3f 
					 
					
						
						
							
							Ignore DbgInfoIntrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63923  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-02-06 06:19:06 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3831005eb1 
					 
					
						
						
							
							Rewrite code that 1) filters loops and 2) calculates new loop bounds.  
						
						... 
						
						
						
						This fixes many bugs. I will add more test cases in a separate check-in.
Some day, the code that manipulates CFG and updates dom. info could use refactoring help.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-04 21:38:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d4e7f44319 
					 
					
						
						
							
							If the sign of exit condition and split condition does not match  
						
						... 
						
						
						
						then do not split loop index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58995  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-10 19:48:34 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						fc19fbd2ca 
					 
					
						
						
							
							Check loop exit predicate properly while eliminating one iteration loop.  
						
						... 
						
						
						
						This patch fixes PR 2869
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57369  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-10 22:02:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d44b7c1b07 
					 
					
						
						
							
							Fix typo, fix PR 2865.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57221  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-06 23:22:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4fe0fe8b49 
					 
					
						
						
							
							splitLoop does not handle split condition EQ.  
						
						... 
						
						
						
						Fixes PR 2805
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-18 23:45:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						00622952ce 
					 
					
						
						
							
							Do not ignore iv uses outside the loop.  
						
						... 
						
						
						
						This one slipped through cracks very well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-17 17:53:47 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a5e27f8028 
					 
					
						
						
							
							If loop induction variable's start value is less then its exit value then do not split the loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53265  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-09 00:12:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3637981050 
					 
					
						
						
							
							Testcase for LoopIndexSplit and DomFrontier.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51916  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-03 18:32:27 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						f6cadc440c 
					 
					
						
						
							
							sabre brings to my attention that the 'tr' suffix is also obsolete  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51349  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-20 21:00:03 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						722243bd40 
					 
					
						
						
							
							Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-20 19:52:04 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						52abbf5d8a 
					 
					
						
						
							
							Do not erase induction variable increment if it is used outside the loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51280  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-19 22:23:55 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						60a12907c3 
					 
					
						
						
							
							Add incoming value from header only if phi node has any use inside the loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-24 20:16:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9b03daa2a3 
					 
					
						
						
							
							If loop header is also loop exiting block then OrigPN is incoming value for B loop header.  
						
						... 
						
						
						
						Fixes PR 2030.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47141  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-14 23:18:47 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						ea06906559 
					 
					
						
						
							
							A loop latch phi node may have uses inside loop, not just in loop header.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-13 22:23:07 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						23067dfeac 
					 
					
						
						
							
							While moving exit condition, do not drop loop latch on the floor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-13 22:06:36 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						02c4836f3d 
					 
					
						
						
							
							Keep track of exit value operand number when operands are swapped.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47082  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-13 19:48:48 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						82ada54da0 
					 
					
						
						
							
							Fix PR 1995.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46898  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-08 22:49:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c840da14c6 
					 
					
						
						
							
							Filter loops that subtract induction variables.  
						
						... 
						
						
						
						These loops are not yet handled.
Fix PR 1912.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-29 02:20:41 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5ffdc56f53 
					 
					
						
						
							
							If ExitValue operand is also defined in Loop header then  
						
						... 
						
						
						
						insert new ExitValue after this operand definition.
This fixes PR1828.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-03 19:17:21 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a6dff2faeb 
					 
					
						
						
							
							Handle multiple induction variables.  
						
						... 
						
						
						
						This fixes PR714.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-25 18:24:48 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						453a844128 
					 
					
						
						
							
							Add transformation to update loop interation space. Now,  
						
						... 
						
						
						
						for (i=A; i<N; i++) {
  if (i < X && i > Y)
    do_something();
}
is transformed into
U=min(N,X); L=max(A,Y);
for (i=L;i<U;i++)
  do_somethihg();                            
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42299  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-25 17:31:19 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3f65f02d25 
					 
					
						
						
							
							Fix PR1692  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42209  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-21 21:18:19 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9c7a9f186c 
					 
					
						
						
							
							Filter exit conditions which are not yet handled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-10 18:33:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						be97c986e1 
					 
					
						
						
							
							Constant split values needs upper bound and lower bound check, just like any other split value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-25 01:09:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4a69da9cb0 
					 
					
						
						
							
							While calculating upper loop bound for first loop and lower loop bound for second loop, take care of edge cases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41387  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-25 00:56:38 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d651f657f2 
					 
					
						
						
							
							Do not split loops rejected by processOneIterationLoop().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41194  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-20 20:24:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						7bfd5dba38 
					 
					
						
						
							
							Add loop index split tests.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-17 22:02:15 +00:00