circt/lib/Dialect/Comb
Fabian Schuiki 2a41164988
[Comb] Fold mux if both arms are same constant
If both arms of a `comb.mux` evaluate to the same constant, fold the mux
to that same constant. Right now this is only done if the SSA value is
identical. Some constant propagation algorithms will call `fold` to
propagate lattice constants, which isn't covered by just comparing SSA
values.

Short: also check adaptor's true and false value for folding, not just
the op's true and false value.
2024-01-31 15:12:07 -08:00
..
Transforms bump llvm submodule to tip of main (103fa3250c46) (#6589) 2024-01-19 09:45:35 -06:00
CMakeLists.txt [Comb] Lower comb pass boilerplate (#5433) 2023-06-20 14:39:39 -07:00
CombAnalysis.cpp [Comb] Use `intersectWith` instead of deprecated `commonBits`, NFC 2023-05-23 11:07:39 -07:00
CombDialect.cpp [HW] Teach that hw.param.value is ConstantLike and foldable. 2021-09-26 18:43:41 -07:00
CombFolds.cpp [Comb] Fold mux if both arms are same constant 2024-01-31 15:12:07 -08:00
CombOps.cpp [Comb] Handle type aliases in `comb.concat` (#6588) 2024-01-19 18:05:53 +01:00