Chris Lattner 
							
						 
					 
					
						
						
							
						
						30f73e78bd 
					 
					
						
						
							
							Make sure that the node returned by SimplifySetCC is added to the worklist  
						
						... 
						
						
						
						so that it can be deleted if unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30955  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-14 03:52:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8ac9d0ebde 
					 
					
						
						
							
							fold setcc of a setcc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-14 01:02:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						51dabfb283 
					 
					
						
						
							
							When SimplifySetCC was moved to the DAGCombiner, it was never removed from  
						
						... 
						
						
						
						SelectionDAG and it has since bitrotted.  Remove the copy from SelectionDAG.
Next, remove the constant folding piece of DAGCombiner::SimplifySetCC into
a new FoldSetCC method which can be used by getNode() and SimplifySetCC.
This fixes obscure bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30952  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-14 00:41:01 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						274062c172 
					 
					
						
						
							
							Reduce the workload by not adding chain users to work list.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30948  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-13 23:32:28 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8b2794aeff 
					 
					
						
						
							
							Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30945  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-13 21:14:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						26d2990e03 
					 
					
						
						
							
							Lower X%C into X/C+stuff.  This allows the 'division by a constant' logic to  
						
						... 
						
						
						
						apply to rems as well as divs.  This fixes PR945 and speeds up ReedSolomon
from 14.57s to 10.90s (which is now faster than gcc).
It compiles CodeGen/X86/rem.ll into:
_test1:
        subl $4, %esp
        movl %esi, (%esp)
        movl $2155905153, %ecx
        movl 8(%esp), %esi
        movl %esi, %eax
        imull %ecx
        addl %esi, %edx
        movl %edx, %eax
        shrl $31, %eax
        sarl $7, %edx
        addl %eax, %edx
        imull $255, %edx, %eax
        subl %eax, %esi
        movl %esi, %eax
        movl (%esp), %esi
        addl $4, %esp
        ret
_test2:
        movl 4(%esp), %eax
        movl %eax, %ecx
        sarl $31, %ecx
        shrl $24, %ecx
        addl %eax, %ecx
        andl $4294967040, %ecx
        subl %ecx, %eax
        ret
_test3:
        subl $4, %esp
        movl %esi, (%esp)
        movl $2155905153, %ecx
        movl 8(%esp), %esi
        movl %esi, %eax
        mull %ecx
        shrl $7, %edx
        imull $255, %edx, %eax
        subl %eax, %esi
        movl %esi, %eax
        movl (%esp), %esi
        addl $4, %esp
        ret
instead of div/idiv instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-12 20:58:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3657ffe037 
					 
					
						
						
							
							add a minor dag combine noticed when looking at PR945  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30915  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-12 20:23:19 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						3ad175bd70 
					 
					
						
						
							
							D'oh - need to use the rigth kind of store.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-12 15:22:24 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						7aed46c25b 
					 
					
						
						
							
							Alias analysis of TRUNCSTORE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30889  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-11 18:55:16 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						c2b19f3449 
					 
					
						
						
							
							Handle aliasing of loadext.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30883  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-11 17:47:52 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						7ca56aff22 
					 
					
						
						
							
							Fix regression in combiner alias analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30880  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-11 13:47:09 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2e49f090f9 
					 
					
						
						
							
							Naming consistency.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30878  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-11 07:10:22 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						466685d41a 
					 
					
						
						
							
							Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30844  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-09 20:57:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6270f686b3 
					 
					
						
						
							
							Eliminate more token factors by taking advantage of transitivity:  
						
						... 
						
						
						
						if TF depends on A and B, and A depends on B, TF just needs to depend on
A.  With Jim's alias-analysis stuff enabled, this compiles the testcase in
PR892 into:
__Z4test3Val:
        subl $44, %esp
        call L__Z3foov$stub
        movl %edx, 28(%esp)
        movl %eax, 32(%esp)
        movl %eax, 24(%esp)
        movl %edx, 36(%esp)
        movl 52(%esp), %ecx
        movl %ecx, 4(%esp)
        movl %eax, 8(%esp)
        movl %edx, 12(%esp)
        movl 48(%esp), %eax
        movl %eax, (%esp)
        call L__Z3bar3ValS_$stub
        addl $44, %esp
        ret
instead of:
__Z4test3Val:
        subl $44, %esp
        call L__Z3foov$stub
        movl %eax, 24(%esp)
        movl %edx, 28(%esp)
        movl 24(%esp), %eax
        movl %eax, 32(%esp)
        movl 28(%esp), %eax
        movl %eax, 36(%esp)
        movl 32(%esp), %eax
        movl 36(%esp), %ecx
        movl 52(%esp), %edx
        movl %edx, 4(%esp)
        movl %eax, 8(%esp)
        movl %ecx, 12(%esp)
        movl 48(%esp), %eax
        movl %eax, (%esp)
        call L__Z3bar3ValS_$stub
        addl $44, %esp
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30821  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-08 22:57:01 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						7138234baf 
					 
					
						
						
							
							Combiner alias analysis passes  Multisource (release-asserts.)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30818  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-07 23:37:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						786225adf0 
					 
					
						
						
							
							Make use of getStore().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30759  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-05 23:01:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						bc588b8bbf 
					 
					
						
						
							
							Alias analysis code clean ups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30753  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-05 15:07:25 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						6ff23e5e84 
					 
					
						
						
							
							More extensive alias analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-04 16:53:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c548428c5d 
					 
					
						
						
							
							Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add an  
						
						... 
						
						
						
						extra operand to LOADX to specify the exact value extension type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30714  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-04 00:56:09 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						bb1518585b 
					 
					
						
						
							
							Load chain check is not needed  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30613  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-26 17:44:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						79597d2af6 
					 
					
						
						
							
							Chain can be any operand  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30611  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-26 09:32:41 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						3dd1170616 
					 
					
						
						
							
							Wrong size for load  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-26 08:14:06 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						172585b3aa 
					 
					
						
						
							
							Can't move a load node if it's chain is not used.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-26 07:37:42 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						14fbcbfa2b 
					 
					
						
						
							
							Accidental enable of bad code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-25 21:11:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						288af5e740 
					 
					
						
						
							
							Fix chain dropping in load and drop unused stores in ret blocks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30600  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-25 19:32:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						279f053eae 
					 
					
						
						
							
							Core antialiasing for load and store.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30597  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-25 16:29:54 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2adffa1f66 
					 
					
						
						
							
							Make it work for DAG combine of multi-value nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 19:04:05 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						516b0eacff 
					 
					
						
						
							
							core corrections  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30570  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 17:35:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						d1aed7aaf7 
					 
					
						
						
							
							Basic "in frame" alias analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 16:28:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0e4b922680 
					 
					
						
						
							
							fold (aext (and (trunc x), cst)) -> (and x, cst).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30561  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 06:40:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bf3708794f 
					 
					
						
						
							
							Check the right value type.  This fixes 186.crafty on x86  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30560  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 06:17:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						111c228241 
					 
					
						
						
							
							Compile:  
						
						... 
						
						
						
						int %test(ulong *%tmp) {
        %tmp = load ulong* %tmp         ; <ulong> [#uses=1]
        %tmp.mask = shr ulong %tmp, ubyte 50            ; <ulong> [#uses=1]
        %tmp.mask = cast ulong %tmp.mask to ubyte
        %tmp2 = and ubyte %tmp.mask, 3          ; <ubyte> [#uses=1]
        %tmp2 = cast ubyte %tmp2 to int         ; <int> [#uses=1]
        ret int %tmp2
}
to:
_test:
        movl 4(%esp), %eax
        movl 4(%eax), %eax
        shrl $18, %eax
        andl $3, %eax
        ret
instead of:
_test:
        movl 4(%esp), %eax
        movl 4(%eax), %eax
        shrl $18, %eax
        # TRUNCATE movb %al, %al
        andb $3, %al
        movzbl %al, %eax
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 06:14:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6007b84a5b 
					 
					
						
						
							
							Generalize (zext (truncate x)) and (sext (truncate x)) folding to work when  
						
						... 
						
						
						
						the src/dst are not the same size.  This catches things like "truncate
32-bit X to 8 bits, then zext to 16", which happens a bit on X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30557  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-21 06:00:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e3152e54b5 
					 
					
						
						
							
							Compile:  
						
						... 
						
						
						
						int test3(int a, int b) { return (a < 0) ? a : 0; }
to:
_test3:
        srawi r2, r3, 31
        and r3, r2, r3
        blr
instead of:
_test3:
        cmpwi cr0, r3, 1
        li r2, 0
        blt cr0, LBB2_2 ;entry
LBB2_1: ;entry
        mr r3, r2
LBB2_2: ;entry
        blr
This implements: PowerPC/select_lt0.ll:seli32_a_a
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-20 06:41:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						84750587bf 
					 
					
						
						
							
							Fold the full generality of (any_extend (truncate x))  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30514  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-20 06:29:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5f42a240ba 
					 
					
						
						
							
							Two things:  
						
						... 
						
						
						
						1. teach SimplifySetCC that '(srl (ctlz x), 5) == 0' is really x != 0.
2. Teach visitSELECT_CC to use SimplifySetCC instead of calling it and
   ignoring the result.  This allows us to compile:
bool %test(ulong %x) {
  %tmp = setlt ulong %x, 4294967296
  ret bool %tmp
}
to:
_test:
        cntlzw r2, r3
        cmplwi cr0, r3, 1
        srwi r2, r2, 5
        li r3, 0
        beq cr0, LBB1_2 ;
LBB1_1: ;
        mr r3, r2
LBB1_2: ;
        blr
instead of:
_test:
        addi r2, r3, -1
        cntlzw r2, r2
        cntlzw r3, r3
        srwi r2, r2, 5
        cmplwi cr0, r2, 0
        srwi r2, r3, 5
        li r3, 0
        bne cr0, LBB1_2 ;
LBB1_1: ;
        mr r3, r2
LBB1_2: ;
        blr
This isn't wonderful, but it's an improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-20 06:19:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1ec72738ac 
					 
					
						
						
							
							Fold (X & C1) | (Y & C2)  -> (X|Y) & C3 when possible.  
						
						... 
						
						
						
						This implements CodeGen/X86/and-or-fold.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30379  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-14 21:11:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						516b962b5a 
					 
					
						
						
							
							Split rotate matching code out to its own function.  Make it stronger, by  
						
						... 
						
						
						
						matching things like ((x >> c1) & c2) | ((x << c3) & c4) to (rot x, c5) & c6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30376  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-14 20:50:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dfcfacb0cb 
					 
					
						
						
							
							DAG combiner fix for rotates. Previously the outer-most condition checks  
						
						... 
						
						
						
						for ROTL availability. This prevents it from forming ROTR for targets that
has ROTR only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29997  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-31 07:41:12 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1efba0ecb4 
					 
					
						
						
							
							Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a static method of SelectionDAG.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29951  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-29 06:42:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4f0b3a084 
					 
					
						
						
							
							s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-27 12:54:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3577e38c2b 
					 
					
						
						
							
							change internal impl of dag combiner so that calls to CombineTo never have to  
						
						... 
						
						
						
						make a temporary vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29618  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-11 17:56:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b9ea4a39b8 
					 
					
						
						
							
							Change one ReplaceAllUsesWith method to take an array of operands to replace  
						
						... 
						
						
						
						instead of a vector of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29616  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-11 17:46:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bd564bfc63 
					 
					
						
						
							
							Start eliminating temporary vectors used to create DAG nodes.  Instead, pass  
						
						... 
						
						
						
						in the start of an array and a count of operands where applicable.  In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap.  In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.
I updated a lot of code calling getNode that takes a vector, but ran out of
time.  The rest of the code should be updated, and these methods should be
removed.
We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.
It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29566  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-08 02:23:42 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						9160a6a18f 
					 
					
						
						
							
							Initialize some variables the compiler warns about.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-25 20:44:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						917ec983df 
					 
					
						
						
							
							If a shuffle is a splat, check if the argument is a build_vector with all elements being the same. If so, return the argument.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29242  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-21 08:25:53 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e7bec0dbb5 
					 
					
						
						
							
							If a shuffle is unary, i.e. one of the vector argument is not needed, turn the  
						
						... 
						
						
						
						operand into a undef and adjust mask accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29232  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-20 22:44:41 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						ae6153f943 
					 
					
						
						
							
							80 cols  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29221  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-20 17:43:27 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						ed41f1bb19 
					 
					
						
						
							
							Reduce number of exported symbols  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29220  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-20 17:28:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						360e8200ec 
					 
					
						
						
							
							Mark these two classes as hidden, shrinking libllbmgcc.dylib by 25K  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28970  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-28 21:58:30 +00:00