llvm-6502/lib
Chris Lattner f9d95c8835 Fix two problems in SelectionDAGLegalize::ExpandBUILD_VECTOR's handling
of BUILD_VECTORS that only have two unique elements:

1. The previous code was nondeterminstic, because it walked a map in
   SDOperand order, which isn't determinstic.
2. The previous code didn't handle the case when one element was undef
   very well.  Now we ensure that the generated shuffle mask has the
   undef vector on the RHS (instead of potentially being on the LHS)
   and that any elements that refer to it are themselves undef.  This
   allows us to compile CodeGen/X86/vec_set-9.ll into:

_test3:
	movd	%rdi, %xmm0
	punpcklqdq	%xmm0, %xmm0
	ret

instead of:

_test3:
	movd	%rdi, %xmm1
	#IMPLICIT_DEF %xmm0
	punpcklqdq	%xmm1, %xmm0
	ret

... saving a register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48060 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 00:29:42 +00:00
..
Analysis Add Hybrid Cycle Detection to Andersen's analysis. 2008-03-05 19:31:47 +00:00
Archive Add alias with non-external aliasee to the list of exported symbols of the library. 2008-03-04 20:15:35 +00:00
AsmParser regenerate. 2008-03-03 18:58:47 +00:00
Bitcode Add an unwind_to field to basic blocks, making them Users instead of Values. 2008-03-02 02:48:09 +00:00
CodeGen Fix two problems in SelectionDAGLegalize::ExpandBUILD_VECTOR's handling 2008-03-09 00:29:42 +00:00
Debugger Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ExecutionEngine Load the symbols first so that the interpreter constructor can find them when 2008-03-08 02:49:45 +00:00
Linker Clarify some important bits 2008-03-07 18:34:50 +00:00
Support Fix a typo. It's causing consumer-typeset to miscompile. Perhaps more. 2008-03-07 22:39:49 +00:00
System Stub out a Path::GetMainExecutable call to find the path to the 2008-03-03 02:55:43 +00:00
Target 1) Improve comments. 2008-03-08 22:59:52 +00:00
Transforms Not all users of a BB are Instructions any more. 2008-03-08 07:48:41 +00:00
VMCore Remove unused runPass methods. 2008-03-08 01:43:56 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00