mirror of https://github.com/llvm/circt.git
![]() Several tools in CIRCT do not process the OM and Emit dialects at all, for example, arcilator, circt-bmc, and circt-lec. Since these tools do a full lowering to LLVM internally, they have to discard all OM and Emit ops at some point in the pipeline. Arcilator currently does this in its StripSV pass; circt-bmc and circt-lec simply error out. This commit adds a `StripOM` pass to the OM dialect and a `StripEmit` pass to the Emit dialect which remove any OM and Emit ops from the IR, respectively. These passes are added to the arcilator, circt-bmc, and circt-lec pipelines in order to discard OM and Emit from the input. The commit also includes a few boilerplate changes and alphabetical ordering of dialects and dependencies. |
||
---|---|---|
.. | ||
emit-errors.mlir | ||
round-trip.mlir | ||
strip-emit.mlir |