[PATCH] D127531: [SLP]Improve analysis of same/alternate code ops and scheduling.
Valeriy Dmitriev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 26 14:09:15 PDT 2022
vdmitrie added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:1251
+ getUnderlyingObject(LI2->getPointerOperand()))
+ return LookAheadHeuristics::ScoreAltOpcodes;
return LookAheadHeuristics::ScoreFail;
----------------
I'm not sure I understand why this is scored as alternating opcodes.
If underlying objects are same that probably means Dist variable must have a value and the value is 0.
i.e. these loads are from same location. right? It sounds like splat load.
Where alternating opcodes come from?
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:7734
+ SmallVectorImpl<Value *> &Right, const TargetLibraryInfo &TLI,
+ const TargetTransformInfo &TTI, const DataLayout &DL, ScalarEvolution &SE,
+ const BoUpSLP &R) {
----------------
TTI argument is unused.
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:12314
+static bool compareCmp(Value *V, Value *V2, TargetLibraryInfo &TLI,
+ const TargetTransformInfo &TTI,
function_ref<bool(Instruction *)> IsDeleted) {
----------------
TTI argument is unused.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127531/new/
https://reviews.llvm.org/D127531
More information about the llvm-commits
mailing list