llvm-project/llvm/lib/Transforms/InstCombine
Craig Topper afa07c5ef6 [InstCombine] Extend some OR combines to support vectors.
This adds support for these combines for vectors
(X^C)|Y -> (X|Y)^C iff Y&C == 0
Y|(X^C) -> (X|Y)^C iff Y&C == 0

llvm-svn: 299822
2017-04-09 06:12:41 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
InstCombineAddSub.cpp [InstCombine] Remove testing assert I accidentally left in r299710. 2017-04-06 21:29:43 +00:00
InstCombineAndOrXor.cpp [InstCombine] Extend some OR combines to support vectors. 2017-04-09 06:12:41 +00:00
InstCombineCalls.cpp Do not translate rint into nearbyint, but truncate it like nearbyint. 2017-03-31 19:58:07 +00:00
InstCombineCasts.cpp InstCombine: Check source value precision when reducing cast intrinsic 2017-03-20 21:59:24 +00:00
InstCombineCompares.cpp [InstCombine] add fold for icmp with or mask of low bits (PR32542) 2017-04-05 17:57:05 +00:00
InstCombineInternal.h [InstCombine] Remove redundant combine from visitAnd 2017-04-06 20:41:48 +00:00
InstCombineLoadStoreAlloca.cpp [InstCombine] Fix bug in pointer replacement 2017-02-24 20:27:25 +00:00
InstCombineMulDivRem.cpp [InstCombine] improve readability; NFCI 2017-03-14 17:27:27 +00:00
InstCombinePHI.cpp fix formatting; NFC 2017-01-31 17:25:42 +00:00
InstCombineSelect.cpp [InstCombine] avoid breaking up bitcasted vector min/max patterns (PR32306) 2017-03-16 20:42:45 +00:00
InstCombineShifts.cpp [InstCombine] allow (X * C2) << C1 --> X * (C2 << C1) for vectors 2017-02-09 23:13:04 +00:00
InstCombineSimplifyDemanded.cpp [InstCombine] Use setAllBits in place of getAllOnesValue since we know the bitwidths are the same. NFCI 2017-04-04 05:03:02 +00:00
InstCombineVectorOps.cpp InstCombine: Use the InstSimplify hook for shufflevector 2017-04-04 04:47:57 +00:00
InstructionCombining.cpp [InstCombine] Make foldOpWithConstantIntoOperand take a BinaryOperator instead of a generic Instruction. 2017-04-03 07:08:08 +00:00
LLVMBuild.txt