[PATCH] D88086: [ARM][MVE] tail-predication: checks for the elementcount, cont'd
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 22 11:51:14 PDT 2020
efriedma added inline comments.
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:405
// ii) TC1 has to be equal to TC + 1, with the + 1 to compensate for start
// counting from 0.
uint64_t TC2 = ConstElemCount->getZExtValue() + 1;
----------------
Maybe add a comment clarifying why we want to bail out here?
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:433
auto MaxMinusVW = APInt(SizeInBits, ~0) - APInt(SizeInBits, VectorWidth);
APInt UpperboundTC = SE->getUnsignedRangeMax(TC);
----------------
Should this be using EC, not TC?
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:480
}
if (!RangeTC.contains(RangeCeil) && !ForceTailPredication) {
LLVM_DEBUG(dbgs() << "ARM TP: Overflow possible in sub\n");
----------------
I'm not confident this is actually proving what you want to prove? If x is in the range [0, 10), and y is in the range [0, 12), that doesn't prove x<y.
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:507
return false;
}
auto StepValue = Step->getValue()->getSExtValue();
----------------
Do we need to check the first operand of the AddRec is zero?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88086/new/
https://reviews.llvm.org/D88086
More information about the llvm-commits
mailing list