Add log_checkpoint function and use it in opt_muxtree
authorClifford Wolf <clifford@clifford.at>
Mon, 15 Jul 2019 10:12:21 +0000 (12:12 +0200)
committerClifford Wolf <clifford@clifford.at>
Mon, 15 Jul 2019 10:12:21 +0000 (12:12 +0200)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
kernel/log.cc
kernel/log.h
passes/opt/opt_muxtree.cc

index a7820950c9dcdc3f4ea45b240931af5c3d7b02b6..1a2c89a9c4c9a7c4cbd11b72fc680f29b8c4f303 100644 (file)
@@ -420,6 +420,13 @@ void log_pop()
        log_flush();
 }
 
+void log_checkpoint()
+{
+       log_id_cache.clear();
+       IdString::checkpoint();
+       log_flush();
+}
+
 #if (defined(__linux__) || defined(__FreeBSD__)) && defined(YOSYS_ENABLE_PLUGINS)
 void log_backtrace(const char *prefix, int levels)
 {
index 3e1facae87c0353dcfb754c130a0b914ce348374..3328018f36c3b11a61861676e7de6f48935b1cbc 100644 (file)
@@ -130,6 +130,7 @@ void log_spacer();
 void log_push();
 void log_pop();
 
+void log_checkpoint();
 void log_backtrace(const char *prefix, int levels);
 void log_reset_stack();
 void log_flush();
index 6511e091b42b3b1dba7065e8ab67ae367ff421ce..79f0e9639c780c33e3ae2cfea98912005701a5b3 100644 (file)
@@ -204,6 +204,7 @@ struct OptMuxtreeWorker
 
                log("  Analyzing evaluation results.\n");
                log_assert(glob_abort_cnt > 0);
+               log_checkpoint();
 
                for (auto &mi : mux2info)
                {