[PATCH] D157312: [InstCombine] Add transforms for `(or/and (icmp eq/ne X,0),(icmp eq/ne X,Pow2OrZero))`
Noah Goldstein via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 24 09:59:41 PDT 2023
goldstein.w.n added inline comments.
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:764
+ // RHS: (icmp eq/ne X, Pow2OrZero)
+ if (!match(LHS, m_ICmp(Pred, m_Value(Op), m_Zero())) ||
+ !match(RHS, m_c_ICmp(Pred, m_Specific(Op), m_Value(Pow2))) ||
----------------
Allen wrote:
> LHS and RHS are commutative . Do we need to consider it?
Above we swap `LHS`/`RHS` so that `LHS` is the comparison against zero: L757.
If you are refering to not using `m_c_ICmp` here then its also no issue b.c of canonicalization.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157312/new/
https://reviews.llvm.org/D157312
More information about the llvm-commits
mailing list