[llvm] [InstCombine] Missed optimization: Fold (sext(a) & c1) == c2 to (a & c3) == trunc(c2) (PR #112646)

via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 26 07:10:58 PDT 2024


================
@@ -7687,6 +7689,34 @@ Instruction *InstCombinerImpl::visitICmpInst(ICmpInst &I) {
   if (Instruction *Res = foldReductionIdiom(I, Builder, DL))
     return Res;
 
+  {
+    Value *A;
+    const APInt *C1, *C2;
+    ICmpInst::Predicate Pred = I.getPredicate();
+    if (Pred == ICmpInst::ICMP_EQ || Pred == ICmpInst::ICMP_NE) {
----------------
goldsteinn wrote:

ICmpInst::isEquality(Pred)

https://github.com/llvm/llvm-project/pull/112646


More information about the llvm-commits mailing list