Update the MLIR writer to the latest changes in CIRCT LLHD.
Unfortunatly, the printer gets uglier and more complex the more the LLHD implementations diverge. But it might still be useful for debugging, etc. until the Moore <-> CIRCT CAPI interop is finished.
One problem though: this does not work for designs which extract from arrays with only one element or i1 values (e.g., snitch) as it creates an i0 value which is not supported in CIRCT. We could use bitcast for arrays but not for signals of these (which occur in snitch).
Update the MLIR writer to the latest changes in CIRCT LLHD.
Unfortunatly, the printer gets uglier and more complex the more the LLHD implementations diverge. But it might still be useful for debugging, etc. until the Moore <-> CIRCT CAPI interop is finished.
One problem though: this does not work for designs which extract from arrays with only one element or i1 values (e.g., snitch) as it creates an i0 value which is not supported in CIRCT. We could use bitcast for arrays but not for signals of these (which occur in snitch).