mirror of https://github.com/llvm/circt.git
b31ce1e65a
Add a new pass, RemoveResets, that replaces RegResetOps that have invalidated initialization values with RegOps. This is part of a series of patches that are intended to align CIRCT with the Scala FIRRTL Compiler (SFC) interpretation of invalid. Previously, CIRCT relies on canonicalization/folding of invalid values to do this optimization. This pass enables future canonicalization/folding of invalid values to zero (as the SFC does) without having to worry about performing this optimization. Run the RemoveResets pass as part of firtool after ExpandWhens and before the first canonicalization. This enables conversion of invalidated RegResetOps to RegOps before canonicalization (eventually) interprets invalid values as zero. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com> |
||
---|---|---|
.. | ||
Analysis | ||
Bindings | ||
CAPI | ||
Conversion | ||
Dialect | ||
Scheduling | ||
Support | ||
Transforms | ||
CMakeLists.txt |