Type declarations and aliases discussion

Hi all,

Recently, the CIRCT folks have been discussing the best way to support type declarations and type aliases in our IRs. One motivation is a desire to output typedef System Verilog statements, which give a name to a (potentially complicated) type and make the output more concise and human readable. The tip of the iceberg here is: how to represent such a “type declaration” in the IR, as well as how to refer to those in the type system.

We have circled back to this topic several times in the CIRCT ODMs, and had some interesting discussions covering a range of design points. We are hoping to involve the broader MLIR community, as this is a pretty core topic and nothing about it is specific to hardware.

Would this topic be of interest at a future ODM? I’m happy to put together a short presentation with more details in order to seed a discussion.

Anyone interested can watch/skim through the video from today’s CIRCT meeting if you’re interested in some of the discussion we had.

Yeah it would be great, let me know when you want to do this (agenda is clear right now).

In that case how about next week?