[PATCH] D133497: [VPlan] Only generate single instr for stores uniform across all parts.
Ayal Zaks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 11 03:24:15 PDT 2022
Ayal added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:9644
// generate a single instance.
Instruction *UI = getUnderlyingInstr();
+ if ((isa<LoadInst>(UI) || isa<StoreInst>(UI)) &&
----------------
Originally relates to D133019. Adding as post-commit notes.
@reames , @fhahn - it would be good in general to limit the use of underlyingInstr in favor of promoting recipe abstraction as much as possible. E.g., ask if this recipe has VPUsers instead of checking if UI's type is void? Why restrict handling of uniform-across-all-parts to loads and stores, should it be captured as in IsUniform[AcrossVF/AcrossUF]? Would be good to give "!Op->getDef()" a meaningful name/API.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133497/new/
https://reviews.llvm.org/D133497
More information about the llvm-commits
mailing list