diff options
author | Florian Hahn <flo@fhahn.com> | 2025-07-27 08:08:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-27 08:08:25 +0100 |
commit | 80c43b6c07f25792718dc2ee3490b9d817c65b1f (patch) | |
tree | 82054020d0daf951722d16d20b7ef17c7db2b9db /llvm/unittests/Support/CheckedArithmeticTest.cpp | |
parent | 69d0078f16c0b4a11f171c4eb16a2ee9284f5f24 (diff) | |
download | llvm-80c43b6c07f25792718dc2ee3490b9d817c65b1f.zip llvm-80c43b6c07f25792718dc2ee3490b9d817c65b1f.tar.gz llvm-80c43b6c07f25792718dc2ee3490b9d817c65b1f.tar.bz2 |
[VPlan] Add ExtractLane VPInst to extract across multiple parts. (#148817)
This patch adds a new ExtractLane VPInstruction which extracts across
multiple parts using a wide index, to be used in combination with
FirstActiveLane.
The patch updates early-exit codegen to use it instead ExtractElement,
which is only per-part. With this change, interleaving should work
correctly with early-exit loops.
The patch removes the restrictions added in 6f43754e9 (#145877), but
does not yet automatically select interleave counts > 1 for early-exit
loops.
I'll share a patch as follow-up. The cost of extracting a lane adds
non-trivial overhead in the exit block, so that should be considered
when picking the interleave count.
PR: https://github.com/llvm/llvm-project/pull/148817
Diffstat (limited to 'llvm/unittests/Support/CheckedArithmeticTest.cpp')
0 files changed, 0 insertions, 0 deletions