[PATCH] D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops.
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 14 07:47:18 PDT 2017
RKSimon accepted this revision.
RKSimon added a comment.
This revision is now accepted and ready to land.
LGTM with a few last minor comments.
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:2151
+ assert(E->State.Opcode && allSameType(VL) && allSameBlock(VL) && "Invalid VL");
+ Instruction *VL0 = cast<Instruction>(E->State.OpValue);
+ unsigned ShuffleOrOp = E->State.IsAltShuffle ?
----------------
auto *VL0
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:3603
- ChunkPos = 0;
- }
SD = allocateScheduleDataChunks();
----------------
Is this an NFC pre-commit?
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:3984
+ if (SameOpcode)
+ LastScheduledInst = pickedInst;
BundleMember = BundleMember->NextInBundle;
----------------
```
if (pickedInst == BundleMember->OpValue) {
if (LastScheduledInst->getNextNode() != pickedInst) {
BS->BB->getInstList().remove(pickedInst);
BS->BB->getInstList().insert(LastScheduledInst->getIterator(), pickedInst);
}
LastScheduledInst = pickedInst;
}
```
https://reviews.llvm.org/D28907
More information about the llvm-commits
mailing list