When a custom operation is unknown and does not have a dialect prefix, we currently
emit an error using the name of the operation with the default dialect prefix. This
leads to a confusing error message, especially when operations get moved between dialects.
For example, func was recently moved out of builtin and to the func dialect. The current
error message we get is:
func @foo() ^ custom op 'builtin.func' is unknown
This could lead users to believe that there is supposed to be a builtin.func,
because there used to be. This commit adds a better error message that does
not assume that the operation is supposed to be in the default dialect:
func @foo() ^ custom op 'func' is unknown (tried 'builtin.func' as well)