1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib
Chris Lattner 50f25115cd Transform a load from an undef/zero global into an undef/global even if we
have complex pointer manipulation going on.  This allows us to compile
stuff like this:

__m128i foo(__m128i x){
                static const unsigned int c_0[4] = { 0, 0, 0, 0 };
                __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0);
                x  = _mm_unpacklo_epi8(x,  v_Zero);
                return x;
}

into:

_foo:
        xorps   %xmm1, %xmm1
        punpcklbw       %xmm1, %xmm0
        ret

llvm-svn: 41022
2007-08-11 18:48:48 +00:00
..
Analysis Do not overuse std::string. Pass around char * directly. 2007-08-10 18:29:32 +00:00
Archive finishing touches of bytecode -> bitcode changes. also unbreak Windows 2007-07-06 20:28:40 +00:00
AsmParser regenerate 2007-08-06 21:00:46 +00:00
Bitcode Patch 10 for long double. Doing constants right needs expanding ConstantFP 2007-08-09 22:51:36 +00:00
CodeGen Code to maintain kill information during register coalescing. 2007-08-11 00:59:19 +00:00
Debugger switch this to bitcode instead of bytecode 2007-05-06 09:29:13 +00:00
ExecutionEngine Fix a comment typo noticed by Sandro Magi. 2007-08-11 15:57:56 +00:00
Linker Allow the filename "-" to be a place holder for stdin. This allows directing 2007-08-08 19:52:29 +00:00
Support Make getSTDIN return null if the standard input is empty, as the header file 2007-08-08 20:01:58 +00:00
System Fix PR1581, patch by Timo Savola 2007-07-31 06:00:51 +00:00
Target expand a note 2007-08-11 18:19:07 +00:00
Transforms Transform a load from an undef/zero global into an undef/global even if we 2007-08-11 18:48:48 +00:00
VMCore Do not overuse std::string. Pass around char * directly. 2007-08-10 18:29:32 +00:00
Makefile build lib/Archive instead of lib/Bytecode 2007-05-06 19:50:06 +00:00