1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/lib
Adam Nemet 08154e7b50 [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
..
Analysis [C++11] Convert sort predicates into lambdas. 2014-03-07 21:35:39 +00:00
AsmParser Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
Bitcode Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
CodeGen [DAGCombiner] Distribute TRUNC through AND in rotation amount 2014-03-07 23:56:30 +00:00
DebugInfo Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
ExecutionEngine Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
IR Teach lint about address spaces 2014-03-06 17:33:55 +00:00
IRReader Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker [Layering] Sink Linker.h into a Linker subdirectory to make it 2014-03-06 03:42:23 +00:00
LTO Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
MC MC: Use MachO::SectionType for MCSectionMachO::getType's return type 2014-03-07 18:49:54 +00:00
Object Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
Option
Support [C++11] Revert uses of lambdas with array_pod_sort. 2014-03-07 21:52:38 +00:00
TableGen Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
Target Range-ify some for loops. 2014-03-07 22:48:22 +00:00
Transforms [C++11] Revert uses of lambdas with array_pod_sort. 2014-03-07 21:52:38 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile