Something adjacent to this thread came up on the issue tracker recently: the verifiers for arith cast ops (e.g., arith.extf
, arith.trunci
, etc.) allow for static → dynamic dimension casting in addition to element type casts, e.g.:
arith.extsi %3 : tensor<12xi16> to tensor<?xi64>
. This crashes in the cast folders: [mlir][arith] Crash when using --canonicalize · Issue #92057 · llvm/llvm-project · GitHub.
Do we want/need this form of casting on tensors in arith
? I couldn’t find any intentional uses in IREE, so I wanted to check if other projects rely on this to make their lowering simpler before deciding whether to update the verifiers to reject these casts. @ThomasRaoux @rengolin