3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-02-24 09:11:19 +00:00
yosys/passes/opt
Robert O'Callahan cba49642aa Make keep_cache_t process all modules up-front instead of on-demand
We will want to query `keep_cache` from parallel threads. If we compute
the results on-demand, that means we need synchronization for cache
access in those queries, which adds complexity and overhead. Instead, prefill
the cache with the status of all relevant modules. Note that this doesn't
actually do more work --- we always consult `keep_cache` for all cells of
all selected modules, so scanning all those cells and determining the kept
status of all dependency modules is always required.

Later in this PR we're going to parallelize `scan_module` itself, and that's also
much easier to do when no other parallel threads are running.
2026-02-05 21:22:29 +00:00
..
.gitignore pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
Makefile.inc Add opt_balance_tree pass for timing optimization 2026-01-13 14:20:11 -08:00
muxpack.cc rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
opt.cc Move Design::sort() calls out of opt and opt_clean passes into the synth passes that need them. 2026-01-23 01:14:35 +00:00
opt_balance_tree.cc opt_balance_tree: mark experimental 2026-01-19 12:01:25 +01:00
opt_clean.cc Make keep_cache_t process all modules up-front instead of on-demand 2026-02-05 21:22:29 +00:00
opt_demorgan.cc opt_demorgan: skip zero width cells 2024-09-24 14:24:59 +01:00
opt_dff.cc OptDff more accurate ctrl/pattern desc. 2026-01-26 22:19:36 +01:00
opt_expr.cc Remove cover() coverage tracking 2025-12-04 16:27:13 +01:00
opt_ffinv.cc Instead of using builtin_ff_cell_types() directly, go through a method Cell::is_builtin_ff() 2025-09-17 03:24:19 +00:00
opt_hier.cc opt_hier: Adjust messages 2025-09-29 12:27:27 +02:00
opt_lut.cc Remove .c_str() from parameters to log_debug() 2025-09-23 19:10:33 +12:00
opt_lut_ins.cc Remove .c_str() from log_cmd_error() and log_file_error() parameters 2025-09-16 22:59:08 +00:00
opt_mem.cc Update passes/opt to avoid bits() 2025-09-16 03:17:23 +00: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 Parallelize opt_merge. 2026-01-08 04:21:39 +00:00
opt_muxtree.cc Use digit separators for large decimal integers 2026-01-13 16:38:12 +01:00
opt_reduce.cc Remove .c_str() calls from log()/log_error() 2025-09-11 20:59:37 +00:00
opt_share.cc opt_share: Fix input confusion with ANDNOT, ORNOT gates 2023-07-20 20:58:52 +01:00
peepopt.cc Add muldiv_c peepopt pass 2025-04-30 08:06:59 -07: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_muldiv_c.pmg Add muldiv_c peepopt pass 2025-04-30 08:06:59 -07: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 Update passes/opt to avoid bits() 2025-09-16 03:17:23 +00:00
rmports.cc Remove .c_str() calls from log()/log_error() 2025-09-11 20:59:37 +00:00
share.cc Update passes/opt to avoid bits() 2025-09-16 03:17:23 +00:00
wreduce.cc Update passes/opt to avoid bits() 2025-09-16 03:17:23 +00:00