llvm-project
80c43b6c - [VPlan] Add ExtractLane VPInst to extract across multiple parts. (#148817)

Commit
269 days ago
[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
Author
Parents
Loading