Go to file
Sanjay Patel 2e069f250a [InstCombine] add (ashr (shl i32 X, 31), 31), 1 --> and (not X), 1
This is another step towards favoring 'not' ops over random 'xor' in IR:
https://bugs.llvm.org/show_bug.cgi?id=32706

This transformation may have occurred in longer IR sequences using computeKnownBits,
but that could be much more expensive to calculate.

As the scalar result shows, we do not currently favor 'not' in all cases. The 'not'
created by the transform is transformed again (unnecessarily). Vectors don't have
this problem because vectors are (wrongly) excluded from several other combines.

llvm-svn: 302659
2017-05-10 13:56:52 +00:00
clang clang-format: refine calculating brace types. 2017-05-10 13:53:29 +00:00
clang-tools-extra [clang-tidy] Add new cert-dcl21-cpp check 2017-05-10 11:16:55 +00:00
compiler-rt [msan] Fix getmntent{_r} for empty /etc/fstab 2017-05-10 12:18:25 +00:00
debuginfo-tests Add additional CHECKs to safestack.c. 2017-04-17 17:57:05 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Attempt to speculatively unbreak Apple build bots 2017-05-10 08:04:50 +00:00
libcxxabi Fix use of removed SH test replacement %exec 2017-05-10 08:15:40 +00:00
libunwind [CMake][libunwind] Fix the -target and -gcc-toolchain flag handling 2017-04-16 06:08:44 +00:00
lld [Core] Make parallel algorithms match C++ Parallelism TS. 2017-05-10 01:16:22 +00:00
lldb Import sys in repo.py. 2017-05-09 20:37:01 +00:00
llgo benchcomp: Add a mode for analyzing file sizes. 2017-04-03 19:13:12 +00:00
llvm [InstCombine] add (ashr (shl i32 X, 31), 31), 1 --> and (not X), 1 2017-05-10 13:56:52 +00:00
openmp [OpenMP] libomptarget: test correction for use with OpenMP 4.5 2017-04-27 18:54:00 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [Polly][CMake] Fix syntactical errors in the exported config 2017-05-10 13:51:30 +00:00