[PATCH] D96287: [TTI] Change getOperandsScalarizationOverhead to take Type args
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 9 03:54:22 PST 2021
dmgreen added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/BasicTTIImpl.h:647
+ if (!Args.empty()) {
+ SmallVector<Type *> Tys(Args.size(), Ty);
+ Cost += getOperandsScalarizationOverhead(Args, Tys);
----------------
sdesmalen wrote:
> Is this not doing something different than it did before, i.e. it now always uses `InTy` for each of the arguments to get the cost, where it previously used the types from each of the arguments?
> I expected something similar to what you did in LoopVectorize with `MaybeVectorizeType`.
Yeah. This version of getScalarizationOverhead is only called from getArithmeticInstrCost (or ARMTTIImpl::getArithmeticInstrCost etc). So the arguments/return value are all likely to all be the same value, and this is making that assumption. It is probably at least good enough as a heuristic, when compared to the else below. I've added a comment too.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96287/new/
https://reviews.llvm.org/D96287
More information about the llvm-commits
mailing list