yosys/passes/proc
whitequark 5fe0ffe30f proc_prune: new pass.
The proc_prune pass is similar in nature to proc_rmdead pass: while
proc_rmdead removes branches that never become active because another
branch preempts it, proc_prune removes assignments that never become
active because another assignment preempts them.

Genrtlil contains logic similar to the proc_prune pass, but their
purpose is different: genrtlil has to prune assignments to adapt
the semantics of blocking assignments in HDLs (latest assignment
wins) to semantics of assignments in RTLIL processes (assignment in
the most specific case wins). On the other hand proc_prune is
a general purpose RTLIL simplification that benefits all frontends,
even those not using the Yosys AST library.

The proc_prune pass is added to the proc script after proc_rmdead,
since it gives better results with fewer branches.
2019-07-09 09:30:58 +00:00
..
Makefile.inc proc_prune: new pass. 2019-07-09 09:30:58 +00:00
proc.cc proc_prune: new pass. 2019-07-09 09:30:58 +00:00
proc_arst.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
proc_clean.cc proc_clean: fix critical typo. 2019-01-23 22:08:38 +00:00
proc_dff.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
proc_dlatch.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
proc_init.cc Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
proc_mux.cc Improve proc full_case detection and handling, fixes #931 2019-04-18 15:13:47 +02:00
proc_prune.cc proc_prune: new pass. 2019-07-09 09:30:58 +00:00
proc_rmdead.cc Improve proc full_case detection and handling, fixes #931 2019-04-18 15:13:47 +02:00