[Mlir-commits] [mlir] [mlir][vector] Fold `in_bounds` for transfers with loop-derived indices (PR #215340)
Dhairyashil R G
llvmlistbot at llvm.org
Fri Aug 14 08:30:08 PDT 2026
dhairyashilRG wrote:
Thanks @FedericoBruzzone! Short answer: for this change there's nothing to measure on SVE, by construction. The fold never fires on a scalable dimension (#213506, the static size is only a lower bound), so for a `vector<[4]xf32>` transfer, patched and baseline emit the same IR. It can still fold a fixed dimension sitting alongside a scalable one, but that's not the SVE case you'd be timing.
Where SVE hardware was decisive I did use it: the guard-page probe in the gist (predicated `ld1w` returns correctly; `in_bounds` forced on segfaults) ran on a Graviton3 with 256-bit SVE.
With fixed-length SVE codegen my expectation is it'd look like the AVX-512 rows, not the NEON ones, native predication means the win is repeated mask setup, not avoiding per-lane scalarization. Happy to run that if it'd be useful to your study.
https://github.com/llvm/llvm-project/pull/215340
More information about the Mlir-commits
mailing list