llvm-6502/lib/Transforms/InstCombine
Serge Pavlov 86118b4532 Reorder shuffle and binary operation.
This patch enables transformations:

    BinOp(shuffle(v1), shuffle(v2)) -> shuffle(BinOp(v1, v2))
    BinOp(shuffle(v1), const1) -> shuffle(BinOp, const2)

They allow to eliminate extra shuffles in some cases.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208488 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-11 08:46:12 +00:00
..
CMakeLists.txt Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
InstCombine.h Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
InstCombineAddSub.cpp Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
InstCombineAndOrXor.cpp Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
InstCombineCalls.cpp Also handle ConstantAggregateZero when optimizing vpermilvar*. 2014-04-29 22:20:40 +00:00
InstCombineCasts.cpp InstCombine: don't drop 'inalloca' in PromoteCastOfAllocation (PR19569) 2014-04-28 17:40:03 +00:00
InstCombineCompares.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InstCombineLoadStoreAlloca.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InstCombineMulDivRem.cpp Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
InstCombinePHI.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InstCombineSelect.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InstCombineShifts.cpp Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
InstCombineSimplifyDemanded.cpp [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
InstCombineVectorOps.cpp Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
InstCombineWorklist.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
InstructionCombining.cpp Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile