[llvm] [VPlan] Handle more replicates in isUniformAcrossVFsAndUFs (PR #162342)

Ramkumar Ramachandra via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 14 09:35:47 PDT 2025


================
@@ -110,12 +110,7 @@ bool vputils::isUniformAcrossVFsAndUFs(VPValue *V) {
   return TypeSwitch<const VPRecipeBase *, bool>(R)
       .Case<VPDerivedIVRecipe>([](const auto *R) { return true; })
       .Case<VPReplicateRecipe>([](const auto *R) {
-        // Loads and stores that are uniform across VF lanes are handled by
-        // VPReplicateRecipe.IsUniform. They are also uniform across UF parts if
-        // all their operands are invariant.
-        // TODO: Further relax the restrictions.
         return R->isSingleScalar() &&
-               (isa<LoadInst, StoreInst>(R->getUnderlyingValue())) &&
----------------
artagnon wrote:

Nice catch! Patch updated now.

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


More information about the llvm-commits mailing list