tree fbf1988ff2d301254a21d64c6152b1f822522be0
parent 6bf948c2ece1bf5e78a8b11fd742e7938bb62e4e
author Hongren Zheng <i@zenithal.me> 1746887815 +0800
committer GitHub <noreply@github.com> 1746887815 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoH2SHCRC1aQ7uu5UhlAAA6zUQAA8Qnfygi7ZNjUMj1oLaEBP4
 sOsl40JsClgNnp7xnEsAT/pfqtXcD2GnnpNR96/QEehaGyjMFL+fN7pYDSdq9oUr
 AI7Z0zZn/orRBHpfM+Mcm7Zi4/YDxHxv/1dXrWH8poh/wMe+C8i4MY0n2S84xgLi
 /knr7jWV/ialQqaS8YUjKy2k6zmEg2VJJE20ENuzz1KBUn3HmyFgrZeKgoGOITnh
 HRmaWyt2nzOrsV/hcXdQpBgQ3BeJCkC6BWyQyiMf+RGNrYVPXHLM+AIruu+DhOp9
 qktWR/L99qYUCqVpHFirnUKX3VOVlN+JMpxRijn28FxJ1YJQwFg22XdKuHt6ngD5
 ZDWKgIN32gbRs8ZWB54HWzVuXaoW0GUj0WM7HNz9PGUUJgf9kaA5IM1rn1hO8gWt
 XV9v14sLG66vCDFo8D42De8hh2OHtFVbdRBGk6S1bG5PxPQOFHc2r9QvDZYpRiDx
 2mpaMkbEfQO20q0wggSr4rgN3Vk/aPOAfiabPaHoUMjoQmLyZL1NIfrcnKvOzqlt
 3R5MWUf3Nv79K3wLCK3DibAtV2YUuYIY/gUIejWNwLmnSj6SVwgaC5a2xoy3MqYs
 y7a4T27c2+GMvqbdHMteXIJJRrOW0TXneL9ujuKzcOHxXuYw0f5FEEDZU7daZ/T0
 HGFgWw4mNAgb9ZgwFO9+
 =/8F6
 -----END PGP SIGNATURE-----
 

[MLIR][TableGen] Add genMnemonicAlias field for OpAsm{Type,Attr}Interface (#131504)

Since the introduction of `OpAsm{Type,Attr}Interface` (#121187), it is
possible to generate alias in AsmPrinter solely from the type/attribute
itself without consulting the `OpAsmDialectInterface`. This means the
behavior can be put in tablegen file near the type/attribute definition.

A common pattern is to just use the type/attr mnemonic as the alias.
Previously, like #130479/#130481/#130483, this means adding a default
implementation to `extraClassDeclaration` in `LLVM_Attr` base class.
However, as attribute definition may override `extraClassDeclaration`,
it might be preferred to have a new field in tablegen to specify this
behavior.

This commit adds a `genMnemonicAlias` field to `AttrOrTypeDef`, when
enabled, makes `mlir-tblgen` emit a default implementation of `getAlias`
using mnemonic. When `OpAsm{Attr,Type}Interface` is not specified by the
user, `tblgen` will automatically add the interface.

For users wanting other alias behavior, they can ignore such field and
still use `extraClassDeclaration` way.