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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bf497a3a68 
					 
					
						
						
							
							Fix an obvious typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-03 23:08:27 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						beec30eaf3 
					 
					
						
						
							
							Add support for other relocation bases to jump tables, as well as custom asm directives  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30593  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-24 19:45:58 +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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f06f35e30b 
					 
					
						
						
							
							Eliminate some malloc traffic by allocating vectors on the stack.  Change some  
						
						... 
						
						
						
						method that took std::vector<SDOperand> to take a pointer to a first operand
and #operands.
This speeds up isel on kc++ by about 3%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29561  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-08 01:09:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						190a418bf6 
					 
					
						
						
							
							Make SelectionDAG::RemoveDeadNodes iterative instead of recursive, which  
						
						... 
						
						
						
						also make it simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29524  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-04 17:45:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c9cf4f1a75 
					 
					
						
						
							
							Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.  
						
						... 
						
						
						
						This manifested itself as really long time to compile
Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc.
This is PR847.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-26 23:55:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						e37fe9b3a1 
					 
					
						
						
							
							Ensure that dump calls that are associated with asserts are removed from  
						
						... 
						
						
						
						non-debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29105  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-11 17:58:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						25a022c780 
					 
					
						
						
							
							Fix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29099  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-11 01:40:09 +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 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8e7d056bc5 
					 
					
						
						
							
							Change RET node to include signness information of the return values. e.g.  
						
						... 
						
						
						
						RET chain, value1, sign1, value2, sign2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28509  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-26 23:09:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d74ea2bbd8 
					 
					
						
						
							
							Patches to make the LLVM sources more -pedantic clean.  Patch provided  
						
						... 
						
						
						
						by Anton Korobeynikov!  This is a step towards closing PR786.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-24 17:04:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c5d7d7c715 
					 
					
						
						
							
							When we legalize target nodes, do not use getNode to create a new node,  
						
						... 
						
						
						
						use UpdateNodeOperands to just update the operands!  This is important because
getNode will allocate a new node if the node returns a flag and this breaks
assumptions in the legalizer that you can legalize some things multiple times
and get exactly the same results.
This latent bug was exposed by my ppc patch last night, and this fixes
gsm/toast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-17 18:00:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b248e16afd 
					 
					
						
						
							
							Add an assertion, avoid some unneeded work for each call.  No functionality  
						
						... 
						
						
						
						change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-17 17:55:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f4ec817299 
					 
					
						
						
							
							Add a new ISD::CALL node, make the default impl of TargetLowering::LowerCallTo  
						
						... 
						
						
						
						produce it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-16 22:53:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e2e41730cc 
					 
					
						
						
							
							Legalize FORMAL_ARGUMENTS nodes correctly, we don't want to legalize them once  
						
						... 
						
						
						
						for each argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-16 05:49:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a2d079a776 
					 
					
						
						
							
							Merge identical code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28274  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-13 02:11:14 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						ec57fd91af 
					 
					
						
						
							
							Fix PR773  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28207  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-09 18:20:51 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a69571c799 
					 
					
						
						
							
							Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses.  This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.  
						
						... 
						
						
						
						This fixes PR 759.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-03 01:29:57 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						37efe67645 
					 
					
						
						
							
							JumpTable support!  What this represents is working asm and jit support for  
						
						... 
						
						
						
						x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-22 18:53:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						89a1b380a4 
					 
					
						
						
							
							Simplify some code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27846  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-19 23:17:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						80edfb3af5 
					 
					
						
						
							
							Fix handling of calls in functions that use vectors.  This fixes a crash on  
						
						... 
						
						
						
						the code in GCC PR26546.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27780  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-17 22:10:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8d5a894501 
					 
					
						
						
							
							Codegen insertelement with constant insertion points as scalar_to_vector  
						
						... 
						
						
						
						and a shuffle.  For this:
void %test2(<4 x float>* %F, float %f) {
        %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
        %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
        %tmp2 = insertelement <4 x float> %tmp3, float %f, uint 2               ; <<4 x float>> [#uses=2]
        %tmp6 = add <4 x float> %tmp2, %tmp2            ; <<4 x float>> [#uses=1]
        store <4 x float> %tmp6, <4 x float>* %F
        ret void
}
we now get this on X86 (which will get better):
_test2:
        movl 4(%esp), %eax
        movaps (%eax), %xmm0
        addps %xmm0, %xmm0
        movaps %xmm0, %xmm1
        shufps $3, %xmm1, %xmm1
        movaps %xmm0, %xmm2
        shufps $1, %xmm2, %xmm2
        unpcklps %xmm1, %xmm2
        movss 8(%esp), %xmm1
        unpcklps %xmm1, %xmm0
        unpcklps %xmm2, %xmm0
        addps %xmm0, %xmm0
        movaps %xmm0, (%eax)
        ret
instead of:
_test2:
        subl $28, %esp
        movl 32(%esp), %eax
        movaps (%eax), %xmm0
        addps %xmm0, %xmm0
        movaps %xmm0, (%esp)
        movss 36(%esp), %xmm0
        movss %xmm0, 8(%esp)
        movaps (%esp), %xmm0
        addps %xmm0, %xmm0
        movaps %xmm0, (%eax)
        addl $28, %esp
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27765  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-17 19:21:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2efce0a589 
					 
					
						
						
							
							Add support for promoting stores from one legal type to another, allowing us  
						
						... 
						
						
						
						to write one pattern for vector stores instead of 4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27730  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-16 01:36:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3824e50b1e 
					 
					
						
						
							
							Make this assertion better  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-14 06:08:35 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cc9876124e 
					 
					
						
						
							
							Promote vector AND, OR, and XOR  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27632  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-12 21:20:24 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						41f6cbbeb2 
					 
					
						
						
							
							Vector type promotion for ISD::LOAD and ISD::SELECT  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-12 16:33:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fdfded5588 
					 
					
						
						
							
							Implement support for the formal_arguments node.  To get this, targets shouldcustom legalize it and remove their XXXTargetLowering::LowerArguments overload  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-12 16:20:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						98f8aeb45f 
					 
					
						
						
							
							Only get Tmp2 for cases where number of operands is > 1. Fixed return void.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27586  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-11 06:33:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b49e52c7e2 
					 
					
						
						
							
							add some todos  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27580  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-11 02:00:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f87324e44d 
					 
					
						
						
							
							Add basic support for legalizing returns of vectors  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27578  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-11 01:31:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						db3c626eb9 
					 
					
						
						
							
							Missing break  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-10 18:54:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b22e35a3c3 
					 
					
						
						
							
							Add code generator support for VSELECT  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-08 22:22:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						17614ea63d 
					 
					
						
						
							
							Canonicalize vvector_shuffle(x,x) -> vvector_shuffle(x,undef) to enable patterns  
						
						... 
						
						
						
						to match again :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27533  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-08 05:34:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ddd283f69 
					 
					
						
						
							
							add a sanity check: LegalizeOp should return a value that is the same type  
						
						... 
						
						
						
						as its input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27528  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-08 04:13:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f6bf87f2cc 
					 
					
						
						
							
							INSERT_VECTOR_ELT lowering bug:  
						
						... 
						
						
						
						store vector to $esp
  store element to $esp + sizeof(VT) * index
  load  vector from $esp
The bug is VT is the type of the vector element, not the type of the vector!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-08 01:46:37 +00:00