The starting point ("indices") of every transfer dimension may now be out-of-bounds, including non-transfer dimensions. (Negative starting points are still not allowed.)
An additional VectorToSCF pattern is added, which turns an out-of-bounds non-transfer dimension into an in-bounds transfer dimension by adding an scf.if check. (Such out-of-bounds ops are ignored by other patterns.)
Out-of-bounds starting points of transfer dimensions were already supported (by VectorToSCF in the (n>1)-D case and by the mask materialization pattern in the 1-D case). This revision merely adds new test cases for such ops.
Depends On: D155205
typo: a -> an