[PATCH] D154791: [InstCombine] Transform bitwise (A << X, zext(icmp)) -> zext (bitwise(A < 0, icmp)) fold.
Noah Goldstein via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 9 12:00:51 PDT 2023
goldstein.w.n added inline comments.
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:1718
+ // -> and/or(zext(A < 0), zext(icmp))
+ // -> zext(and/or(A < 0, icmp))
+ auto MatchBitwiseICmpZeroWithICmp = [&](Value *&Op0, Value *Op1) {
----------------
'and/or' -> 'bitwise' no?
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:1726
+ match(Op1, m_ZExt(m_ICmp(Pred, m_Value(), m_Value())));
+ if (IsMatched) {
+ Op0 = Builder.CreateZExt(
----------------
Is there a reason you create `IsMatched` as opposed to just embedding the `match(...)` logic in the if statement?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D154791/new/
https://reviews.llvm.org/D154791
More information about the llvm-commits
mailing list