[all-commits] [llvm/llvm-project] 1a78c6: Scalarizer: explicitly exclude scalable vectors

Nicolai Hähnle via All-commits all-commits at lists.llvm.org
Thu Dec 8 11:48:33 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a78c64654cde1960be70fe532e999aff2aaa5bc
      https://github.com/llvm/llvm-project/commit/1a78c64654cde1960be70fe532e999aff2aaa5bc
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2022-12-08 (Thu, 08 Dec 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    A llvm/test/Transforms/Scalarizer/ignore-scalable-vectors.ll

  Log Message:
  -----------
  Scalarizer: explicitly exclude scalable vectors

They are unsupported and would previously crash, now we just skip them.

Hypothetically, one could consider "scalarizing" a <vscale x n x T> into
n copies of <vscale x 1 x T>. But (1) it's unclear how to do that
because insertelement etc. don't work with scalable vectors in the
required way, and (2) there is no user of such functionality.

Differential Revision: https://reviews.llvm.org/D139358


  Commit: 6c379cb318d74dfd63667dc62c026a5819f0b934
      https://github.com/llvm/llvm-project/commit/6c379cb318d74dfd63667dc62c026a5819f0b934
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2022-12-08 (Thu, 08 Dec 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    A llvm/test/Transforms/Scalarizer/opaque-ptr-bug.ll

  Log Message:
  -----------
  Scalarizer: fix an opaque pointer bug

With opaque pointers, it's possible for the same pointer value to be
used to store different vector types (both number and type of elements),
so we need to take that into account when caching the scattering.

Differential Revision: https://reviews.llvm.org/D139359


Compare: https://github.com/llvm/llvm-project/compare/aa4c0f116c93...6c379cb318d7


More information about the All-commits mailing list