[PATCH] D67155: [InstCombine] Fold sub (and A, B) (or A, B)) to not (xor A, B)
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 4 05:30:03 PDT 2019
lebedev.ri requested changes to this revision.
lebedev.ri added inline comments.
This revision now requires changes to proceed.
================
Comment at: lib/Transforms/InstCombine/InstCombineAddSub.cpp:1731-1732
+ Value *A, *B;
+ if (match(Op0, m_And(m_Value(A), m_Value(B))) &&
+ match(Op1, m_c_Or(m_Specific(A), m_Specific(B))))
+ return BinaryOperator::CreateNot(Builder.CreateXor(A, B));
----------------
&& (Op0.hasOneUse() || Op1.hasOneUse())
================
Comment at: lib/Transforms/InstCombine/InstCombineAddSub.cpp:1733
+ match(Op1, m_c_Or(m_Specific(A), m_Specific(B))))
+ return BinaryOperator::CreateNot(Builder.CreateXor(A, B));
+ }
----------------
Not != Neg
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67155/new/
https://reviews.llvm.org/D67155
More information about the llvm-commits
mailing list