Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
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
autoconf Prefer to use ocamlc.opt to ocamlc and soforth. 2008-03-07 18:19:47 +00:00
bindings Cleanup some comments in the OCaml bindings. 2008-03-07 19:13:06 +00:00
docs update to document new lto API 2008-02-29 19:34:52 +00:00
examples remove attributions from examples. 2007-12-29 20:37:57 +00:00
include Not all users of a BB are Instructions any more. 2008-03-08 07:48:41 +00:00
lib Fix two problems in SelectionDAGLegalize::ExpandBUILD_VECTOR's handling 2008-03-09 00:29:42 +00:00
projects remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Teach SD some vector identities, allowing us to compile vec_set-9 into: 2008-03-08 23:43:36 +00:00
tools only extract main if the user didn't specify anything to extract 2008-03-07 20:10:54 +00:00
utils This patch fixes a problem encountered by the CellSPU backend where variants 2008-03-05 17:49:05 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Update vcproj file. 2008-03-05 22:30:39 +00:00
Xcode Rename CFEBuildInstrs.html to GCCFEBuildInstrs.html. 2008-02-14 17:53:22 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Regenerate. 2008-03-07 18:20:01 +00:00
CREDITS.TXT Update credits. 2007-12-11 09:32:07 +00:00
LICENSE.TXT scoped_ptr.h was removed. 2008-02-09 22:50:06 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Run 'svn info' in the C locale. Also appropriately escape spaces and ? for gawk in darwin. 2008-02-28 18:46:56 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in improve compatibility with mingw, patch by Alain Frisch 2008-01-15 22:50:50 +00:00
Makefile.rules Remove inappropriate whitespace, change CVS to SVN where it makes sense. 2008-02-27 13:34:15 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.