[llvm] [SVE] Wide active lane mask (PR #76514)
Momchil Velikov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 17 06:32:41 PST 2024
================
@@ -1081,9 +1080,8 @@ static VPActiveLaneMaskPHIRecipe *addVPLaneMaskPhiAndUpdateExitBranch(
"index.part.next");
// Create the active lane mask instruction in the VPlan preheader.
- auto *EntryALM =
- Builder.createNaryOp(VPInstruction::ActiveLaneMask, {EntryIncrement, TC},
- DL, "active.lane.mask.entry");
+ auto *EntryALM = Builder.createGetActiveLaneMask(EntryIncrement, TC, DL,
----------------
momchil-velikov wrote:
The expansion from VPlan to LLVM IR of instructions like
```
EMIT vp<%3> = TC > VF ? TC - VF : 0 ir<%n>
EMIT vp<%4> = VF * Part + ir<0>
```
indeed in some cases may result in dead instructions, since it does not depend and has no knowledge of the logic of expansion of things like
```
EMIT vp<%17> = active lane mask vp<%16>, vp<%3>
```
and I want to keep it that way.
https://github.com/llvm/llvm-project/pull/76514
More information about the llvm-commits
mailing list