[PATCH] D75388: Expand interleaved memory access pass to identify certain shuffle_vector and transform it into target specific intrinsics.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 17 10:47:30 PDT 2020


RKSimon added a subscriber: samparker.
RKSimon added inline comments.


================
Comment at: llvm/include/llvm/Analysis/TargetTransformInfo.h:976
+  int getInterleavedMemoryOpCost(Instruction *I, unsigned VF, unsigned Opcode,
+                                 Type *VecTy, unsigned Factor,
                                  ArrayRef<unsigned> Indices, unsigned Alignment,
----------------
ctetreau wrote:
> RKSimon wrote:
> > wxz2020 wrote:
> > > RKSimon wrote:
> > > > Since you're changing the function signature anyway would it make sense to change this to a VectorType *VecTy? There's been chatter on other patches about making this jump in general as many of the TTI calls expect a vector anyhow.
> > > Can you give me an example about this?
> > @ctetreau's work on cleaning up the vector getters e.g. D77264 hits this a lot
> I'm working on a major cleanup and refactor of VectorType. As part of this, getVectorNumElements, getVectorElementCount, getVectorElementType, and getVectorIsScalable are all being removed.
> 
> If the VecTy argument to this function is expected to be an instance of VectorType, then it should take a pointer to VectorType. Then, in the body, code can directly call the methods of VectorType without using the base Type asserting getters.
@samparker has examples of the VectorType change in D78357


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75388





More information about the llvm-commits mailing list