Go to file
Adam Nemet 7f928f14f4 [DAGCombiner] Distribute TRUNC through AND in rotation amount
This is already done for shifts.  Allow it for rotations as well. E.g.:

   (rotl:i32 x, (trunc (and y, 31))) -> (rotl:i32 x, (and (trunc y), 31))

Use the newly factored-out distributeTruncateThroughAnd.

With this patch and some X86.td tweaks we should be able to remove redundant
masking of the rotation amount like in the example above.  HW implicitly
performs this masking.

The testcase will be added as part of the X86 patch.

llvm-svn: 203316
2014-03-07 23:56:30 +00:00
clang Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +00:00
clang-tools-extra Use the appropriate operator<< instead of addRanges. 2014-03-06 13:24:28 +00:00
compiler-rt ARM: fix file's header comment 2014-03-07 14:56:29 +00:00
debuginfo-tests Relax testcase: Newer versions of LLDB don't necessarily print the "{". 2014-02-27 17:51:50 +00:00
libclc Fix build since r202052 2014-02-24 21:31:56 +00:00
libcxx Update status for LWG 2193 and 2344. 2014-03-07 21:47:20 +00:00
libcxxabi Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec. 2014-02-17 21:56:01 +00:00
lld [docs] Add missing features for the x86-64 ELF backend. 2014-03-07 23:54:27 +00:00
lldb Fix a small inferior process memory leak in SystemRuntimeMacOSX::PopulatePendingItemsForQueue(). 2014-03-07 23:28:54 +00:00
llvm [DAGCombiner] Distribute TRUNC through AND in rotation amount 2014-03-07 23:56:30 +00:00
openmp Revert commit (testing commit hook). 2014-03-04 18:06:04 +00:00
polly remove unused code 2014-03-06 20:59:18 +00:00