The verification of affine value classification for symbols was
expecting, incorrectly, that the dimension operand of memref.dim was
being produced by a constant-like operation. This is legacy of the
dimension being an attribute originally, and was never updated after it
was switched to be an operation. Treat such cases conservatively and
classify the value as non-symbol.
A more advanced version could attempt to check that the value would be a
valid symbol for all possible values the dimension attribute could take,
but this does not seem immediately useful.
Fixes #59993.
Sounds fine. Thanks for fixing this.