[llvm] [LLVM][InstCombine] Extend masked_gather's demanded elt analysis. (PR #151732)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 2 03:59:43 PDT 2025


================
@@ -1834,14 +1834,22 @@ Value *InstCombinerImpl::SimplifyDemandedVectorElts(Value *V,
       // segfaults which didn't exist in the original program.
       APInt DemandedPtrs(APInt::getAllOnes(VWidth)),
           DemandedPassThrough(DemandedElts);
-      if (auto *CV = dyn_cast<ConstantVector>(II->getOperand(2)))
-        for (unsigned i = 0; i < VWidth; i++) {
-          Constant *CElt = CV->getAggregateElement(i);
-          if (CElt->isNullValue())
-            DemandedPtrs.clearBit(i);
-          else if (CElt->isAllOnesValue())
-            DemandedPassThrough.clearBit(i);
+      if (auto *CMask = dyn_cast<Constant>(II->getOperand(2))) {
----------------
paulwalker-arm wrote:

Works for me. Thanks.

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


More information about the llvm-commits mailing list