[PATCH] D144434: [VPlan] Handle invariant GEPs in isUniformAfterVectorization.

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 23 13:48:28 PDT 2023


Ayal accepted this revision.
Ayal added a comment.
This revision is now accepted and ready to land.

This looks good to me. @reames, @kartcq - ok with you too?



================
Comment at: llvm/lib/Transforms/Vectorize/VPlan.h:2708
+  if (auto *GEP = dyn_cast<VPWidenGEPRecipe>(Def))
+    return all_of(GEP->operands(), isUniformAfterVectorization);
   return false;
----------------
Propagating uniformity forwards on-demand from operands is fine, for GEPs or other non-phi recipes, where not cached as a result of SCEV/Divergence Analysis.

Should this function still be "inline"?

The "AfterVectorization" suffix should be dropped if favor of "onlyFirstLaneUsed()" above (independent of this patch).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144434/new/

https://reviews.llvm.org/D144434



More information about the llvm-commits mailing list