[SLP] Make sortMemAccesses explicitly return an error. NFC.

llvm-svn: 294029
This commit is contained in:
Michael Kuperstein
2017-02-03 19:32:50 +00:00
parent 9677cc6fb7
commit 2a735b71b6
3 changed files with 31 additions and 31 deletions

View File

@@ -467,7 +467,9 @@ private:
ScalarEvolution &SE) const {
assert(VL.size() == Scalars.size() && "Invalid size");
SmallVector<Value *, 8> List;
sortMemAccesses(VL, DL, SE, List);
if (!sortMemAccesses(VL, DL, SE, List))
return false;
return std::equal(List.begin(), List.end(), Scalars.begin());
}
@@ -1223,18 +1225,19 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth) {
if (VL.size() > 2 && !ReverseConsecutive) {
bool ShuffledLoads = true;
SmallVector<Value *, 8> List;
sortMemAccesses(VL, *DL, *SE, List);
auto NewVL = makeArrayRef(List.begin(), List.end());
for (unsigned i = 0, e = NewVL.size() - 1; i < e; ++i) {
if (!isConsecutiveAccess(NewVL[i], NewVL[i + 1], *DL, *SE)) {
ShuffledLoads = false;
break;
SmallVector<Value *, 8> Sorted;
if (sortMemAccesses(VL, *DL, *SE, Sorted)) {
auto NewVL = makeArrayRef(Sorted.begin(), Sorted.end());
for (unsigned i = 0, e = NewVL.size() - 1; i < e; ++i) {
if (!isConsecutiveAccess(NewVL[i], NewVL[i + 1], *DL, *SE)) {
ShuffledLoads = false;
break;
}
}
if (ShuffledLoads) {
newTreeEntry(NewVL, true, true);
return;
}
}
if (ShuffledLoads) {
newTreeEntry(NewVL, true, true);
return;
}
}