[PATCH] D76992: [VPlan] Add & use VPValue operands for VPWidenRecipe (NFC).
Ayal Zaks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 9 16:35:11 PDT 2020
Ayal added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:4285
bool InvariantCond =
- SE->isLoopInvariant(PSE.getSCEV(I.getOperand(0)), OrigLoop);
+ SE->isLoopInvariant(PSE.getSCEV(GetUnderlyingValue(0)), OrigLoop);
setDebugLocFromInst(Builder, &I);
----------------
Better for a VPlan recipe to record such information/decision what Select should eventually be generated, rather than for code-gen to check the SCEV of an underlying value of an operand.
Perhaps worth taking the Select case out of ILV::widenInstruction() and into a dedicated ILV::widenSelectInstruction() which will be given InvariantCond as a parameter, and have VPWidenRecipe (or a dedicated VPWidenSelectRecipe) record InvariantCond and feed it?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76992/new/
https://reviews.llvm.org/D76992
More information about the llvm-commits
mailing list