<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57507>57507</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [MLIR] Autogenerate enum printers
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          bzcheeseman
      </td>
    </tr>
</table>

<pre>
    Currently when you create an enum in ODS you have to write the enum ostream overload yourself:

```
inline raw_ostream &operator<<(raw_ostream &os, MyEnum e) {
  return os << stringifyEnum(e);
}
```

It would be great to autogenerate this.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtkNuK2zAQhp9GvhlqbPl8oYvdZAMLuxTaByiyPbFVtFLQISZ9-o6cDS2lMOjAzP_r0z_a-SYO0Tk0Qd9gW9HAzUaYHMqAIA2giR-gDHw9ft87q7wiBAubUzQQVrxPWB9IQvsVnbZyTrPOoz6z6okVR1Y81rb4rP2qjFYGwcntx8OB8dZe0MlgHasOqXj_b98zfoD320t6GRkfgHXPd0MAhyE6Q0BwlwPplFnUeR8nsyRg1ec8647_BbuvrwE2G_UMI8KSIkk_lzHYBU1CTAEon2coyrblRVO3dZ_NopqHapBZUEGjYM3z-9vrN9Yc4elv5R7bhdACOp9Fp8UawsWnvPiJalFhjWM-WWI-aX19bF8uzv7EKdBVeR-Rsjg1XVN02Sq6Hscay6ktayKYKhyHfiinqW2rruz6OdNyRO0TE-Pc4Aa7BZ0JL1OCF5wXQ1GW5Fd3-Uh2I4nP_dR0ZcVZXeCHVDpPHLl1S-bEjjTGxVNTKx_8n6b0Xi0G9wiSPwW3WifGX9OK6MnJZPvzYsf_DZrBzQU">