1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/Transforms
Simon Pilgrim 0b4002e32c [InstCombine] Minor optimization for bswap with binary ops
Added instcombine optimizations for BSWAP with AND/OR/XOR ops:

OP( BSWAP(x), BSWAP(y) ) -> BSWAP( OP(x, y) )
OP( BSWAP(x), CONSTANT ) -> BSWAP( OP(x, BSWAP(CONSTANT) ) )

Since its just a one liner, I've also added BSWAP to the DAGCombiner equivalent as well:

fold (OP (bswap x), (bswap y)) -> (bswap (OP x, y))

Refactored bswap-fold tests to use FileCheck instead of just checking that the bswaps had gone.

Differential Revision: http://reviews.llvm.org/D6407

llvm-svn: 223349
2014-12-04 09:44:01 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine [InstCombine] Minor optimization for bswap with binary ops 2014-12-04 09:44:01 +00:00
Instrumentation [msan] allow -fsanitize-coverage=N together with -fsanitize=memory, llvm part 2014-12-03 23:28:26 +00:00
IPO Prologue support 2014-12-03 02:08:38 +00:00
ObjCARC Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
Scalar StructurizeCFG: Use LoopInfo analysis for better loop detection 2014-12-03 04:28:32 +00:00
Utils correct spelling, NFC 2014-12-03 22:10:39 +00:00
Vectorize LoopVectorize: Remove unnecessary RAUW 2014-12-03 05:41:20 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile