aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/register.cc
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-11 07:55:00 -0800
committerGitHub <noreply@github.com>2020-01-11 07:55:00 -0800
commitd2df2a8fef8d01b70fa5faa4397e1d628b9ceb5b (patch)
treeb2a9e682a3d387e4258bfba6c3b394a2d1a453d2 /kernel/register.cc
parented491939c269f5acb9d53109744870251b50e095 (diff)
parentcd92a974f4cf8d4db74d504c38e51ce043e02403 (diff)
downloadyosys-d2df2a8fef8d01b70fa5faa4397e1d628b9ceb5b.tar.gz
yosys-d2df2a8fef8d01b70fa5faa4397e1d628b9ceb5b.tar.bz2
yosys-d2df2a8fef8d01b70fa5faa4397e1d628b9ceb5b.zip
Merge pull request #1622 from YosysHQ/clifford/onpassreg
Add Pass::on_register() and Pass::on_shutdown()
Diffstat (limited to 'kernel/register.cc')
-rw-r--r--kernel/register.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/register.cc b/kernel/register.cc
index 37f2e5e1b..5d0fb3c8c 100644
--- a/kernel/register.cc
+++ b/kernel/register.cc
@@ -114,20 +114,35 @@ void Pass::run_register()
void Pass::init_register()
{
+ vector<Pass*> added_passes;
while (first_queued_pass) {
+ added_passes.push_back(first_queued_pass);
first_queued_pass->run_register();
first_queued_pass = first_queued_pass->next_queued_pass;
}
+ for (auto added_pass : added_passes)
+ added_pass->on_register();
}
void Pass::done_register()
{
+ for (auto &it : pass_register)
+ it.second->on_shutdown();
+
frontend_register.clear();
pass_register.clear();
backend_register.clear();
log_assert(first_queued_pass == NULL);
}
+void Pass::on_register()
+{
+}
+
+void Pass::on_shutdown()
+{
+}
+
Pass::~Pass()
{
}