[PATCH] D159062: [InstCombine] Folding multiuse `(icmp eq/ne (or X, Y), Y)` for 2 uses of `Y`
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 29 03:23:08 PDT 2023
nikic accepted this revision.
nikic added a comment.
This revision is now accepted and ready to land.
LGTM
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp:4669
// icmp (X | Y) eq/ne Y --> (X & ~Y) eq/ne 0 if Y is freely invertible
- if (IC.isFreeToInvert(Op1, Op1->hasOneUse()))
+ if (IC.isFreeToInvert(Op1, Op1->hasOneUse() || Op1->hasNUses(2)))
return new ICmpInst(Pred,
----------------
This would be the usual pattern...
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D159062/new/
https://reviews.llvm.org/D159062
More information about the llvm-commits
mailing list