[PATCH] D83542: [SVE] Don't consider scalable vector types in SLPVectorizerPass::vectorizeChainsInBlock

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 27 01:50:24 PDT 2020


david-arm marked 2 inline comments as done.
david-arm added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:7396
+        TypeSize EltTS = DL->getTypeSizeInBits(EltTy);
+        if (EltTS.isScalable()) {
+          // For now, just ignore vectorizing scalable types.
----------------
david-arm wrote:
> sdesmalen wrote:
> > Should the check for scalable (+ corresponding code to bail out) be hoisted out of the `if (EltTy->isSized())` condition/block?
> I'm not sure really. This change fixes the case I was interested, but not sure what it means if a type is not sized *and* scalable? I assumed that if a type wasn't sized then you couldn't call getTypeSizeInBits and hope to get a sensible answer. We only know if the type is scalable or not by asking for the TypeSize.
Any further thoughts on this @sdesmalen ? If it's not sized then I can't ask the question if it's scalable or not.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83542





More information about the llvm-commits mailing list