The compiler back-end is using calls to AddVerbatimOp to bypass the normal CIRCT lowering process and specify Verilog to emit directly. This causes several problems, including:
- Potential for mismatches between the symbols generated by CIRCT and the verbatim RTL in the call to AddVerbatimOp
- Makes it unsafe to do manipulation or translation, and (for example) prevents us from doing an alternative back-end for things like a direct to executable version of the compiler.