Add the usual wrappers around the CIRCT C API for Moore MIR and test some initial emission of CIRCT Moore MIR using the shift operations.
Some comments:
The wrapper is not complete in this PR, but can be expanded on demand for all types that we actually need
Always emitting the cast operations regardless if the operation before already returns a moore type is a bit ugly, but shift operations don't occur that often, so it doesn't make a big difference here. We can improve this in a follow-up PR or just don't care and remove all casts once all MIR operations are ported.
Emitting MIR in the rust lowering from MIR to LLHD is not the place it should be in the end, but it's easier here for now, as we have these HybridValues and we don't have conversion from Values implemented in rust and the MLIR ones. Once all ops are ported and we have a precise 1:1 mapping, we can just move the emission one layer up.
Add the usual wrappers around the CIRCT C API for Moore MIR and test some initial emission of CIRCT Moore MIR using the shift operations.
Some comments: