Analyze the needed set of rotation keys in the presence of loops and computed rotation shifts
- Dominant language
- MLIR
- Stars
- 906
- Forks
- 171
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 32
Description
Context: to support rolled linalg kernels (#2655), we will need to introduce loops that have rotation operations that depend on SSA values computed dynamically. Currently all lower-level rotation ops have static attributes for the offset.
This will ultimately require an analysis that can determine a static set of rotation shifts used by a program, that supports the combination of loops (i.e., analyzing the iteration space of an affine/scf for loop) and computed expressions (because the shift used may be an arithmetic expression of the induction variables).
This would be easiest with affine, since `affine.apply` makes static expressions easier to write, but I believe scf.for can be supported as well with constant folding.
Contributor guide
Assessment
This issue has not been assessed yet.