[llvm] [InstCombine] Infer zext nneg flag directly (PR #71906)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 10 03:06:36 PST 2023


================
@@ -543,6 +543,8 @@ static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombinerImpl &IC) {
       auto *Cttz = IC.Builder.CreateBinaryIntrinsic(Intrinsic::cttz, X,
                                                     IC.Builder.getTrue());
       auto *ZextCttz = IC.Builder.CreateZExt(Cttz, II.getType());
+      if (auto *ZextInst = dyn_cast<PossiblyNonNegInst>(ZextCttz))
+        ZextInst->setNonNeg();
----------------
nikic wrote:

Is this correct for i1?

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


More information about the llvm-commits mailing list