[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