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 
							
						 
					 
					
						
						
							
						
						0ea26ca45b 
					 
					
						
						
							
							Expand 64-bit shifts more optimally if we know that the high bit of the  
						
						... 
						
						
						
						shift amount is one or zero.  For example, for:
long long foo1(long long X, int C) {
  return X << (C|32);
}
long long foo2(long long X, int C) {
  return X << (C&~32);
}
we get:
_foo1:
        movb $31, %cl
        movl 4(%esp), %edx
        andb 12(%esp), %cl
        shll %cl, %edx
        xorl %eax, %eax
        ret
_foo2:
        movb $223, %cl
        movl 4(%esp), %eax
        movl 8(%esp), %edx
        andb 12(%esp), %cl
        shldl %cl, %eax, %edx
        shll %cl, %eax
        ret
instead of:
_foo1:
        subl $4, %esp
        movl %ebx, (%esp)
        movb $32, %bl
        movl 8(%esp), %eax
        movl 12(%esp), %edx
        movb %bl, %cl
        orb 16(%esp), %cl
        shldl %cl, %eax, %edx
        shll %cl, %eax
        xorl %ecx, %ecx
        testb %bl, %bl
        cmovne %eax, %edx
        cmovne %ecx, %eax
        movl (%esp), %ebx
        addl $4, %esp
        ret
_foo2:
        subl $4, %esp
        movl %ebx, (%esp)
        movb $223, %cl
        movl 8(%esp), %eax
        movl 12(%esp), %edx
        andb 16(%esp), %cl
        shldl %cl, %eax, %edx
        shll %cl, %eax
        xorl %ecx, %ecx
        xorb %bl, %bl
        testb %bl, %bl
        cmovne %eax, %edx
        cmovne %ecx, %eax
        movl (%esp), %ebx
        addl $4, %esp
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-20 03:38:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						863ac769b8 
					 
					
						
						
							
							Fold extract_element(cst) to cst  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30478  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-19 05:02:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5c6621c3bc 
					 
					
						
						
							
							Minor speedup for legalize by avoiding some malloc traffic  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30477  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-19 04:51:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6b5578f052 
					 
					
						
						
							
							Fix a typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30474  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-18 23:28:33 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						52cc1ea2a1 
					 
					
						
						
							
							Allow  i32 UDIV, SDIV, UREM, SREM to be expanded into libcalls.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-18 21:49:04 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						3fbd67898e 
					 
					
						
						
							
							absolute addresses must match pointer size  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30461  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-18 17:59:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8829dc88a8 
					 
					
						
						
							
							Oh yeah, this is needed too  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30407  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-16 05:08:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a89654b1a1 
					 
					
						
						
							
							simplify control flow, no functionality change  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30403  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-16 00:21:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7d7bffe157 
					 
					
						
						
							
							Allow custom expand of mul  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30402  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-16 00:09:24 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c970f062e0 
					 
					
						
						
							
							If LSR went through a lot of trouble to put constants (e.g. the addr of a global  
						
						... 
						
						
						
						in a specific BB, don't undo this!).  This allows us to compile
CodeGen/X86/loop-hoist.ll into:
_foo:
        xorl %eax, %eax
***     movl L_Arr$non_lazy_ptr, %ecx
        movl 4(%esp), %edx
LBB1_1: #cond_true
        movl %eax, (%ecx,%eax,4)
        incl %eax
        cmpl %edx, %eax
        jne LBB1_1      #cond_true
LBB1_2: #return
        ret
instead of:
_foo:
        xorl %eax, %eax
        movl 4(%esp), %ecx
LBB1_1: #cond_true
***     movl L_Arr$non_lazy_ptr, %edx
        movl %eax, (%edx,%eax,4)
        incl %eax
        cmpl %ecx, %eax
        jne LBB1_1      #cond_true
LBB1_2: #return
        ret
This was noticed in 464.h264ref.  This doesn't usually affect PPC,
but strikes X86 all the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30290  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-13 06:02:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						79980b07da 
					 
					
						
						
							
							Compile X << 1 (where X is a long-long) to:  
						
						... 
						
						
						
						addl %ecx, %ecx
        adcl %eax, %eax
instead of:
        movl %ecx, %edx
        addl %edx, %edx
        shrl $31, %ecx
        addl %eax, %eax
        orl %ecx, %eax
and to:
        addc r5, r5, r5
        adde r4, r4, r4
instead of:
        slwi r2,r9,1
        srwi r0,r11,31
        slwi r3,r11,1
        or r2,r0,r2
on PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-13 03:50:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d6594ae54c 
					 
					
						
						
							
							Added support for machine specific constantpool values. These are useful for  
						
						... 
						
						
						
						representing expressions that can only be resolved at link time, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30278  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-12 21:00:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c66764c007 
					 
					
						
						
							
							This code was trying too hard.  By eliminating redundant edges in the CFG  
						
						... 
						
						
						
						due to switch cases going to the same place, it make #pred != #phi entries,
breaking live interval analysis.
This fixes 458.sjeng on x86 with llc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30236  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-10 06:36:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6ddf8ed6fe 
					 
					
						
						
							
							Implement the fpowi now by lowering to a libcall  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30225  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-09 06:03:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f3f333dbd6 
					 
					
						
						
							
							Allow targets to custom lower expanded BIT_CONVERT's  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30217  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-09 00:20:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d5e93c0795 
					 
					
						
						
							
							Fix CodeGen/Generic/2006-09-06-SwitchLowering.ll, a bug where SDIsel inserted  
						
						... 
						
						
						
						too many phi operands when lowering a switch to branches in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-07 01:59:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7acf5f39fe 
					 
					
						
						
							
							Change the default to 0, which means 'default'.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30114  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-05 17:39:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						09e460662a 
					 
					
						
						
							
							Completely eliminate def&use operands.  Now a register operand is EITHER a  
						
						... 
						
						
						
						def operand or a use operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30109  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-05 02:31:13 +00:00 
						 
				 
			
				
					
						
							
							
								Duraid Madina 
							
						 
					 
					
						
						
							
						
						0c9e0ff249 
					 
					
						
						
							
							forgot this  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30097  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-04 07:44:11 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3f4fd0fd64 
					 
					
						
						
							
							Allow legalizer to expand ISD::MUL using only MULHS in the rare case that is  
						
						... 
						
						
						
						possible and the target only supports MULHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30022  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-01 18:17:58 +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 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						694481ee01 
					 
					
						
						
							
							Eliminate SelectNodeTo() and getTargetNode() variants which take more than  
						
						... 
						
						
						
						3 SDOperand operands. They are replaced by versions which take an array
of SDOperand and the number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29905  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-27 08:08:54 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						95514bae73 
					 
					
						
						
							
							SelectNodeTo now returns a SDNode*.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29901  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-26 08:00:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f921a51891 
					 
					
						
						
							
							Fix PR861  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29796  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-21 20:24:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						228a18e0f2 
					 
					
						
						
							
							switch the SUnit pred/succ sets from being std::sets to being smallvectors.  
						
						... 
						
						
						
						This reduces selectiondag time on kc++ from 5.43s to 4.98s (9%).  More
significantly, this speeds up the default ppc scheduler from ~1571ms to 1063ms,
a 33% speedup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29743  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-17 00:09:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						be384162c6 
					 
					
						
						
							
							minor changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-16 22:57:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f83482dcad 
					 
					
						
						
							
							Use the appropriate typedef  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29730  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-16 20:59:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0b3e525a3a 
					 
					
						
						
							
							Start using SDVTList more consistently  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-15 19:11:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						70046e920f 
					 
					
						
						
							
							add a new SDVTList type and new SelectionDAG::getVTList methods to streamline  
						
						... 
						
						
						
						the creation of canonical VTLists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-15 17:46:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f9f37fc52c 
					 
					
						
						
							
							eliminate use of getNode that takes vector of valuetypes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29687  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-14 23:53:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2fa6d3b1fc 
					 
					
						
						
							
							Add a new getNode() method that takes a pointer to an already-intern'd list  
						
						... 
						
						
						
						of value-type nodes.  This avoids having to do mallocs for std::vectors of
valuetypes when a node returns more than one type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29685  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-14 23:31:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e51ee04c3d 
					 
					
						
						
							
							remove SelectionDAG::InsertISelMapEntry, it is dead  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29677  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-14 22:24:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						213a16c637 
					 
					
						
						
							
							Add code to resize the CSEMap hash table.  This doesn't speedup codegen of  
						
						... 
						
						
						
						kimwitu, but seems like a good idea from a "avoid performance cliffs" standpoint :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29675  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-14 22:19:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						130fc13506 
					 
					
						
						
							
							Add the actual constant to the hash for ConstantPool nodes.  Thanks to  
						
						... 
						
						
						
						Rafael Espindola for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29669  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-14 20:12:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dd28900168 
					 
					
						
						
							
							Switch to using SuperFastHash instead of adding all elements together.  This  
						
						... 
						
						
						
						doesn't significantly improve performance but it helps a small amount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29642  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-12 01:07:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ed9ea81f8 
					 
					
						
						
							
							Switch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5%  
						
						... 
						
						
						
						speedup in isel time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29640  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-11 23:55:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c9f8f41680 
					 
					
						
						
							
							Remove 8 more std::map's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29631  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-11 21:55:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						61b09412fe 
					 
					
						
						
							
							Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants,  
						
						... 
						
						
						
						RegNodes, and ValueNodes maps into the CSEMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29626  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-11 21:01:22 +00:00