llvm-mirror/lib
Chris Lattner c687344f0c Make some existing optimizations that would only trigger on scalars
also apply to vectors.  This allows us to compile this:

#include <emmintrin.h>
__m128i a(__m128 a, __m128 b) { return a==a & b==b; }
__m128i b(__m128 a, __m128 b) { return a!=a | b!=b; }

to:

_a:
	cmpordps	%xmm1, %xmm0
	ret
_b:
	cmpunordps	%xmm1, %xmm0
	ret

with clang instead of to a ton of horrible code.

llvm-svn: 76863
2009-07-23 05:32:17 +00:00
..
Analysis Minor cosmetics: indentation, formatting, naming. 2009-07-23 01:57:06 +00:00
Archive Fix some non-sensical code. 2009-07-13 05:29:34 +00:00
AsmParser MDString 2009-07-23 02:00:51 +00:00
Bitcode MDString 2009-07-23 02:00:51 +00:00
CodeGen Added PHI Def & Kill tracking to PHIElimination pass. 2009-07-23 04:34:03 +00:00
CompilerDriver Delete the temp dir even when '--temp-dir' is specified. 2009-07-11 19:27:07 +00:00
Debugger Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the 2009-07-01 23:13:44 +00:00
ExecutionEngine Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset. 2009-07-23 01:40:54 +00:00
Linker Get rid of the Pass+Context magic. 2009-07-22 00:24:57 +00:00
MC Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as 2009-07-20 20:25:37 +00:00
Support Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset. 2009-07-23 01:40:54 +00:00
System Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset. 2009-07-23 01:40:54 +00:00
Target Support insertps via the intrinsic and add a couple of simple 2009-07-23 02:22:41 +00:00
Transforms Make some existing optimizations that would only trigger on scalars 2009-07-23 05:32:17 +00:00
VMCore MDString 2009-07-23 02:00:51 +00:00
Makefile LLVMC doesn't need ENABLE_PIC to build now. 2009-07-04 03:54:54 +00:00