[PATCH] D141940: [SLP]Add shuffling of extractelements to avoid extra costs/data movement.
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 4 13:19:02 PST 2023
RKSimon added a comment.
There's a lot going on in this patch - making it really difficult to understand
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:630
+ // Restore unused scalars from mask.
+ for (int I = 0, E = GatheredExtracts.size(); I > E; ++I) {
+ auto *EI = dyn_cast<ExtractElementInst>(VL[I]);
----------------
I > E?
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:6867
+ if ((VF == VF1 && GatheredScalars.size() != VF1) ||
+ (VF == VF2 && GatheredScalars.size() != VF2))
+ GatheredScalars.append(VF - GatheredScalars.size(),
----------------
we're looking for VF? == VF so would this be better as:
```
((VF == VF1 || VF == VF2) && GatheredScalars.size() != VF)
```
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9416
+ if ((VF == VF1 && GatheredScalars.size() != VF1) ||
+ (VF == VF2 && GatheredScalars.size() != VF2))
+ GatheredScalars.append(VF - GatheredScalars.size(),
----------------
```
((VF == VF1 || VF == Vf2) && GatheredScalars.size() != VF)
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141940/new/
https://reviews.llvm.org/D141940
More information about the llvm-commits
mailing list