[yosys] 08/38: Using design->selected_modules() in opt_*

Ruben Undheim rubund-guest at moszumanska.debian.org
Mon Feb 9 19:36:44 UTC 2015


This is an automated email from the git hooks/post-receive script.

rubund-guest pushed a commit to tag upstream/0.5.0
in repository yosys.

commit a8f4a099b5f1c51ccd46d875c874bbb1e7e5766b
Author: Clifford Wolf <clifford at clifford.at>
Date:   Tue Feb 3 23:45:01 2015 +0100

    Using design->selected_modules() in opt_*
---
 passes/opt/opt_clean.cc   | 26 ++++++++++----------------
 passes/opt/opt_const.cc   |  2 +-
 passes/opt/opt_muxtree.cc | 11 +++--------
 passes/opt/opt_reduce.cc  | 11 ++++-------
 passes/opt/opt_share.cc   |  6 ++----
 5 files changed, 20 insertions(+), 36 deletions(-)

diff --git a/passes/opt/opt_clean.cc b/passes/opt/opt_clean.cc
index 98f83df..447b787 100644
--- a/passes/opt/opt_clean.cc
+++ b/passes/opt/opt_clean.cc
@@ -347,17 +347,10 @@ struct OptCleanPass : public Pass {
 		ct_reg.setup_internals_mem();
 		ct_reg.setup_stdcells_mem();
 
-		for (auto mod : design->modules()) {
-			if (!design->selected_whole_module(mod->name)) {
-				if (design->selected(mod))
-					log("Skipping module %s as it is only partially selected.\n", id2cstr(mod->name));
+		for (auto module : design->selected_whole_modules_warn()) {
+			if (module->has_processes_warn())
 				continue;
-			}
-			if (!mod->processes.empty()) {
-				log("Skipping module %s as it contains processes.\n", mod->name.c_str());
-			} else {
-				rmunused_module(mod, purge_mode, true);
-			}
+			rmunused_module(module, purge_mode, true);
 		}
 
 		ct.clear();
@@ -411,12 +404,13 @@ struct CleanPass : public Pass {
 		count_rm_cells = 0;
 		count_rm_wires = 0;
 
-		for (auto mod : design->modules()) {
-			if (design->selected_whole_module(mod->name) && mod->processes.empty())
-				do {
-					design->scratchpad_unset("opt.did_something");
-					rmunused_module(mod, purge_mode, false);
-				} while (design->scratchpad_get_bool("opt.did_something"));
+		for (auto mod : design->selected_whole_modules()) {
+			if (mod->has_processes())
+				continue;
+			do {
+				design->scratchpad_unset("opt.did_something");
+				rmunused_module(mod, purge_mode, false);
+			} while (design->scratchpad_get_bool("opt.did_something"));
 		}
 
 		if (count_rm_cells > 0 || count_rm_wires > 0)
diff --git a/passes/opt/opt_const.cc b/passes/opt/opt_const.cc
index 55da987..1758a34 100644
--- a/passes/opt/opt_const.cc
+++ b/passes/opt/opt_const.cc
@@ -1002,7 +1002,7 @@ struct OptConstPass : public Pass {
 		}
 		extra_args(args, argidx, design);
 
-		for (auto module : design->modules())
+		for (auto module : design->selected_modules())
 		{
 			if (undriven)
 				replace_undriven(design, module);
diff --git a/passes/opt/opt_muxtree.cc b/passes/opt/opt_muxtree.cc
index 94e29ec..9828707 100644
--- a/passes/opt/opt_muxtree.cc
+++ b/passes/opt/opt_muxtree.cc
@@ -468,15 +468,10 @@ struct OptMuxtreePass : public Pass {
 		extra_args(args, 1, design);
 
 		int total_count = 0;
-		for (auto mod : design->modules()) {
-			if (!design->selected_whole_module(mod)) {
-				if (design->selected(mod))
-					log("Skipping module %s as it is only partially selected.\n", log_id(mod));
+		for (auto module : design->selected_whole_modules_warn()) {
+			if (module->has_processes_warn())
 				continue;
-			}
-			if (mod->has_processes_warn())
-				continue;
-			OptMuxtreeWorker worker(design, mod);
+			OptMuxtreeWorker worker(design, module);
 			total_count += worker.removed_count;
 		}
 		if (total_count)
diff --git a/passes/opt/opt_reduce.cc b/passes/opt/opt_reduce.cc
index 3e324cc..5c36eb2 100644
--- a/passes/opt/opt_reduce.cc
+++ b/passes/opt/opt_reduce.cc
@@ -371,16 +371,13 @@ struct OptReducePass : public Pass {
 		extra_args(args, argidx, design);
 
 		int total_count = 0;
-		for (auto &mod_it : design->modules_) {
-			if (!design->selected(mod_it.second))
-				continue;
-			do {
-				OptReduceWorker worker(design, mod_it.second, do_fine);
+		for (auto module : design->selected_modules())
+			while (1) {
+				OptReduceWorker worker(design, module, do_fine);
 				total_count += worker.total_count;
 				if (worker.total_count == 0)
 					break;
-			} while (1);
-		}
+			}
 
 		if (total_count)
 			design->scratchpad_set_bool("opt.did_something", true);
diff --git a/passes/opt/opt_share.cc b/passes/opt/opt_share.cc
index 66e29b6..cce97d6 100644
--- a/passes/opt/opt_share.cc
+++ b/passes/opt/opt_share.cc
@@ -314,10 +314,8 @@ struct OptSharePass : public Pass {
 		extra_args(args, argidx, design);
 
 		int total_count = 0;
-		for (auto &mod_it : design->modules_) {
-			if (!design->selected(mod_it.second))
-				continue;
-			OptShareWorker worker(design, mod_it.second, mode_nomux);
+		for (auto module : design->selected_modules()) {
+			OptShareWorker worker(design, module, mode_nomux);
 			total_count += worker.total_count;
 		}
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/yosys.git



More information about the debian-science-commits mailing list