circt/test/Tools/circt-bmc
Fabian Schuiki ce67b00a52
Add passes to strip OM and Emit dialect ops (#8121)
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.
2025-01-27 13:56:52 -08:00
..
commandline.mlir Add passes to strip OM and Emit dialect ops (#8121) 2025-01-27 13:56:52 -08:00
externalize-registers-errors.mlir [circt-bmc] Add simple initial value support to ExternalizeRegisters (#7728) 2024-10-24 21:13:25 +01:00
externalize-registers.mlir [circt-bmc] Add simple initial value support to ExternalizeRegisters (#7728) 2024-10-24 21:13:25 +01:00
lower-to-bmc-errors.mlir [LowerToBMC] Topologically sort module body before inlining to BMC op (#8007) 2024-12-18 19:41:08 +00:00
lower-to-bmc.mlir [LowerToBMC] Topologically sort module body before inlining to BMC op (#8007) 2024-12-18 19:41:08 +00:00