3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-24 01:25:33 +00:00
yosys/passes/opt
Krystine Sherwin 406b400458
opt_expr: Fix #4590
If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.

This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes.  It only handles the case where all inputs are 'x and the mux can be completely removed.
2025-04-04 12:25:31 +13:00
..
.gitignore pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
Makefile.inc pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
muxpack.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt.cc opt_merge: Add -keepdc option required for formal verification 2022-04-01 21:03:20 +02:00
opt_clean.cc Revert "Refactor full_selection" 2025-04-07 12:11:55 +02:00
opt_demorgan.cc opt_demorgan: skip zero width cells 2024-09-24 14:24:59 +01:00
opt_dff.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_expr.cc opt_expr: Fix #4590 2025-04-04 12:25:31 +13:00
opt_ffinv.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_lut.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_lut_ins.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_mem.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt_mem_feedback.cc kernel/mem: Introduce transparency masks. 2021-08-11 00:04:16 +02:00
opt_mem_priority.cc opt_mem_priority: Fix non-ascii char in help message. 2021-12-09 00:56:14 +01:00
opt_mem_widen.cc Add opt_mem_widen pass. 2021-08-14 01:06:23 +02:00
opt_merge.cc opt_merge: fix dangling pointers in known_cells when keep attribute is used 2025-03-10 13:14:06 +01:00
opt_muxtree.cc opt_muxtree: Update port_off and port_idx even for constant bits 2021-06-11 12:06:35 +01:00
opt_reduce.cc opt_reduce: keep at least one input to $reduce_or/and cells 2024-09-25 16:21:19 +01:00
opt_share.cc opt_share: Fix input confusion with ANDNOT, ORNOT gates 2023-07-20 20:58:52 +01:00
peepopt.cc io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00
peepopt_formal_clockgateff.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_muldiv.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_shiftadd.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_shiftmul_left.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
peepopt_shiftmul_right.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
pmux2shiftx.cc io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00
rmports.cc Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
share.cc Merge pull request #4948 from YosysHQ/emil/share-fix-log-again 2025-03-19 13:54:17 +01:00
wreduce.cc io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00