The reason I was passing this vector by value in the constructor so that
I wouldn't have to copy when initializing the corresponding member but
then I forgot the std::move.
The use-case is LoopDistribution which filters the checks then
std::moves it to LoopVersioning's constructor. With this interface we
can avoid any copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243616
91177308-0d34-0410-b5e6-
96231b3b80d8
const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI, DominatorTree *DT,
const SmallVector<int, 8> *PtrToPartition)
: VersionedLoop(L), NonVersionedLoop(nullptr),
- PtrToPartition(PtrToPartition), Checks(Checks), LAI(LAI), LI(LI), DT(DT) {
+ PtrToPartition(PtrToPartition), Checks(std::move(Checks)), LAI(LAI),
+ LI(LI), DT(DT) {
assert(L->getExitBlock() && "No single exit block");
assert(L->getLoopPreheader() && "No preheader");
}