Go to file
Chandler Carruth 4d03be1717 [x86] Fix terrible bugs everywhere in the new vector shuffle lowering
and in the target shuffle combining when trying to widen vector
elements.

Previously only one of these was correct, and we didn't correctly
propagate zeroing target shuffle masks (which have a different sentinel
value from undef in non- target shuffle masks now). This isn't just
a missed optimization, this caused us to drop zeroing shuffles on the
floor and miscompile code. The added test case is one example of that.

There are other fixes to the test suite as a consequence of this as well
as restoring the undef elements in some of the masks that were lost when
I brought sanity to the actual *value* of the undef and zero sentinels.

I've also just cleaned up some of the PSHUFD and PSHUFLW and PSHUFHW
combining code, but that code really needs to go. It was a nice initial
attempt, but it isn't very principled and the recursive shuffle combiner
is much more powerful.

llvm-svn: 218562
2014-09-27 04:42:44 +00:00
clang Add back checking for condition of conditional operator for -Wuninitialized 2014-09-26 23:48:30 +00:00
clang-tools-extra Corrected a comment in check_clang_tidy_fix.sh 2014-09-26 12:51:13 +00:00
compiler-rt Effectively revert r217284 on Darwin due to issues with -gmlt there 2014-09-26 21:58:33 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Remove more redundant semi-colons 2014-09-18 09:23:40 +00:00
libcxx Mark module atomic as cplusplus11. 2014-09-24 04:44:54 +00:00
libcxxabi Adding ABI support for __cxa_throw_bad_array_new_length. 2014-09-11 17:26:43 +00:00
lld Use DenseMap::lookup. No functionality change. 2014-09-26 23:21:10 +00:00
lldb thread state coordinator: added thread death support and more tests. 2014-09-27 01:58:13 +00:00
llvm [x86] Fix terrible bugs everywhere in the new vector shuffle lowering 2014-09-27 04:42:44 +00:00
openmp Fix a crash that occurred under obscure circumstances during library shutdown 2014-09-03 11:34:33 +00:00
polly We do not support alias checks for base pointers defined inside the SCoP 2014-09-24 21:04:29 +00:00