llvm-project/llvm/lib/Transforms
Sanjay Patel e359eaaf70 [InstCombine] change bitwise logic type to eliminate bitcasts
In PR27925:
https://llvm.org/bugs/show_bug.cgi?id=27925

...we proposed adding this fold to eliminate a bitcast. In D20774, there was 
some concern about changing the type of a bitwise op as well as creating 
bitcasts that might not be free for a target. However, if we're strictly 
eliminating an instruction (by limiting this to one-use ops), then we should 
be able to do this in InstCombine.

But we're cautiously restricting the transform for now to vector types to
avoid possible backend problems. A transform to make sure the logic op is
legal for the target should be added to reverse this transform and improve
codegen.

Differential Revision: https://reviews.llvm.org/D26641

llvm-svn: 287707
2016-11-22 22:05:48 +00:00
..
Coroutines Fix spelling mistakes in Transforms comments. NFC. 2016-11-20 13:19:49 +00:00
Hello Add auto-exporting of symbols from tools so that plugins work on Windows 2016-05-26 11:16:43 +00:00
IPO [GlobalSplit] Port to the new pass manager. 2016-11-21 00:28:23 +00:00
InstCombine [InstCombine] change bitwise logic type to eliminate bitcasts 2016-11-22 22:05:48 +00:00
Instrumentation [asan] Make ASan compatible with linker dead stripping on Windows 2016-11-21 20:40:37 +00:00
ObjCARC [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Scalar Fixed the lost FastMathFlags in GVN(Global Value Numbering). 2016-11-22 20:52:53 +00:00
Utils [MemorySSA] Fix for non-determinism in codegen 2016-11-21 19:33:02 +00:00
Vectorize Fix spelling mistakes in Transforms comments. NFC. 2016-11-20 13:19:49 +00:00
CMakeLists.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00
LLVMBuild.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00