Skip to content

Commit c48bc56

Browse files
committed
driver: fix timing data divison by zero when no passes run
1 parent 1dd5b15 commit c48bc56

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

kernel/driver.cc

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -707,11 +707,16 @@ int main(int argc, char **argv)
707707

708708
for (auto &it : pass_register)
709709
if (it.second->call_counter) {
710-
total_ns += it.second->runtime_ns + 1;
711-
timedat.insert(make_tuple(it.second->runtime_ns + 1, it.second->call_counter, it.first));
710+
auto pass_ns = it.second->runtime_ns + 1;
711+
total_ns += pass_ns;
712+
timedat.insert(make_tuple(pass_ns, it.second->call_counter, it.first));
712713
}
713-
timedat.insert(make_tuple(RTLIL::OwningIdString::garbage_collection_ns() + 1,
714-
RTLIL::OwningIdString::garbage_collection_count(), "id_gc"));
714+
{
715+
auto gc_ns = RTLIL::OwningIdString::garbage_collection_ns() + 1;
716+
total_ns += gc_ns;
717+
timedat.insert(make_tuple(gc_ns,
718+
RTLIL::OwningIdString::garbage_collection_count(), "id_gc"));
719+
}
715720

716721
if (timing_details)
717722
{

0 commit comments

Comments
 (0)