[PATCH] D76956: [TTI][SLP] Add TTI interface to estimate cost of chain of vector inserts/extracts.

Valeriy Dmitriev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 30 10:16:52 PDT 2020


vdmitrie added a comment.

In D76956#1947796 <https://reviews.llvm.org/D76956#1947796>, @RKSimon wrote:

> We already have getScalarizationOverhead - can't we extend that instead?


Could you please be more specific about your suggestion?
Unfortunately the API documentation is no better than nothing.
I really do not understand what this API is supposed to do:

  unsigned getScalarizationOverhead(Type *Ty, bool Insert, bool Extract) const;

Type here I believe must be a vector type.
Questions:

- Whether it calculates cost of every vector element extract/insert (i.e. scalarization of whole vector)?
- It is not clear whether boolean arguments can both be true (in my opinion the purpose of the interface could be much clearer if they were documented mutually exclusive).

if yes, and if both are true – whether any scalar computation supposed to be in between.
With no scalar computation between extracts and inserts they all can be folded into shuffle or optimized away.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76956/new/

https://reviews.llvm.org/D76956





More information about the llvm-commits mailing list