Bob Wilson 
							
						 
					 
					
						
						
							
						
						8d535859e5 
					 
					
						
						
							
							Add a test for my change to disable reassociation for i1 types.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-06 01:16:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9506c930aa 
					 
					
						
						
							
							When factoring multiply expressions across adds, factor both  
						
						... 
						
						
						
						positive and negative forms of constants together.  This 
allows us to compile:
int foo(int x, int y) {
    return (x-y) + (x-y) + (x-y);
}
into:
_foo:                                                       ## @foo
	subl	%esi, %edi
	leal	(%rdi,%rdi,2), %eax
	ret
instead of (where the 3 and -3 were not factored):
_foo:
        imull   $-3, 8(%esp), %ecx
        imull   $3, 4(%esp), %eax
        addl    %ecx, %eax
        ret
this started out as:
    movl    12(%ebp), %ecx
    imull   $3, 8(%ebp), %eax
    subl    %ecx, %eax
    subl    %ecx, %eax
    subl    %ecx, %eax
    ret
This comes from PR5359.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92381  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-01 01:13:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						75954e0bbd 
					 
					
						
						
							
							test case we alredy get right.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92380  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-01 00:50:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3523993451 
					 
					
						
						
							
							reuse negates where possible instead of always creating them from scratch.  
						
						... 
						
						
						
						This allows us to optimize test12 into:
define i32 @test12(i32 %X) {
  %factor = mul i32 %X, -3                        ; <i32> [#uses=1]
  %Z = add i32 %factor, 6                         ; <i32> [#uses=1]
  ret i32 %Z
}
instead of:
define i32 @test12(i32 %X) {
  %Y = sub i32 6, %X                              ; <i32> [#uses=1]
  %C = sub i32 %Y, %X                             ; <i32> [#uses=1]
  %Z = sub i32 %C, %X                             ; <i32> [#uses=1]
  ret i32 %Z
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92373  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 20:34:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69e98e2c0f 
					 
					
						
						
							
							teach reassociate to factor x+x+x -> x*3.  While I'm at it,  
						
						... 
						
						
						
						fix RemoveDeadBinaryOp to actually do something.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92368  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 19:24:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						13a754ce92 
					 
					
						
						
							
							simple fix for an incorrect factoring which causes a  
						
						... 
						
						
						
						miscompilation, PR5458.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 08:33:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f4ae5c84c 
					 
					
						
						
							
							merge some more tests in.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92353  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 08:32:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e1f5460f78 
					 
					
						
						
							
							filecheckize  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92352  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 08:29:56 +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 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						7f40dea2f1 
					 
					
						
						
							
							Upgrade tests to not use llvm-upgrade.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48530  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-19 04:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						69ccadd753 
					 
					
						
						
							
							Use the llvm-upgrade program to upgrade llvm assembly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-02 04:23:10 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						e78760e179 
					 
					
						
						
							
							Renamed as' => llvm-as', dis' => llvm-dis', link' => llvm-link'.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-16 15:29:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						50e8682f28 
					 
					
						
						
							
							Remove explicit control flow through the use of the 'not' script  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-28 23:23:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						557a143b82 
					 
					
						
						
							
							Add some simple test of reassociation  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2555  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-08 21:34:22 +00:00