Scalarizer: explicitly exclude scalable vectors
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 2 Dec 2022 15:07:30 +0000 (16:07 +0100)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 8 Dec 2022 19:48:14 +0000 (20:48 +0100)
commit1a78c64654cde1960be70fe532e999aff2aaa5bc
treec810e8fde1a8849d5afff08111f29bb1c47dda3d
parentaa4c0f116c93a91186291ca3255583fc5deae7f1
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
llvm/lib/Transforms/Scalar/Scalarizer.cpp
llvm/test/Transforms/Scalarizer/ignore-scalable-vectors.ll [new file with mode: 0644]