llvm-project
a761e26b - [RISCV] Allow non-loop invariant steps in RISCVGatherScatterLowering (#122244)

Commit
330 days ago
[RISCV] Allow non-loop invariant steps in RISCVGatherScatterLowering (#122244) The motivation for this is to allow us to match strided accesses that are emitted from the loop vectorizer with EVL tail folding (see #122232) In these loops the step isn't loop invariant and is based off of @llvm.experimental.get.vector.length. We can relax this as long as we make sure to construct the updates after the definition inside the loop, instead of the preheader. I presume the restriction was previously added so that the step would dominate the insertion point in the preheader. I can't think of why it wouldn't be safe to calculate it in the loop otherwise.
Author
Parents
Loading