llvm-6502/lib/Transforms
Simon Pilgrim 94590ca4cf [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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223349 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-04 09:44:01 +00:00
..
Hello
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