[MLIR][Interfaces] Allow non-builtin scalar types in IndexingMapOpInterface (#188774)
The scalar type check in `IndexingMapOpInterface::verifyImpl` and its
helper `verifyIndexingMapOperandType` used `isIntOrIndexOrFloat() ||
isa<ComplexType>()`, which only accepted builtin scalar types. This
rejected valid custom-dialect scalar types such as pointer types
(`\!ptr.ptr<...>`) or other non-shaped dialect types.
The `isScalar` method in `DestinationStyleOpInterface` already treats
any non-MemRef/non-Tensor type as scalar. Align `IndexingMapOpInterface`
with this definition by treating any non-ShapedType as a rank-0 scalar,
regardless of whether it is a builtin type.
Fixes #183606
Assisted-by: Claude Code