Skip to content

Commit

Permalink
Add noclean option to submod for speedup
Browse files Browse the repository at this point in the history
  • Loading branch information
akashlevy committed May 2, 2024
1 parent e62bc10 commit cc5e893
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions passes/hierarchy/submod.cc
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,9 @@ struct SubmodPass : public Pass {
log(" private names so that a subsequent 'flatten; clean' call will restore\n");
log(" the original module with original public names.\n");
log("\n");
log(" -noclean\n");
log(" by default opt_clean is run after. call with -noclean to skip this pass.\n");
log("\n");
}
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
Expand All @@ -360,6 +363,7 @@ struct SubmodPass : public Pass {
std::string opt_name;
bool copy_mode = false;
bool hidden_mode = false;
bool noclean_mode = false;

size_t argidx;
for (argidx = 1; argidx < args.size(); argidx++) {
Expand All @@ -375,13 +379,18 @@ struct SubmodPass : public Pass {
hidden_mode = true;
continue;
}
if (args[argidx] == "-noclean") {
noclean_mode = true;
continue;
}
break;
}
extra_args(args, argidx, design);

if (opt_name.empty())
{
Pass::call(design, "opt_clean");
if (!noclean_mode)
Pass::call(design, "opt_clean");
log_header(design, "Continuing SUBMOD pass.\n");

std::set<RTLIL::IdString> handled_modules;
Expand All @@ -401,7 +410,8 @@ struct SubmodPass : public Pass {
}
}

Pass::call(design, "opt_clean");
if (!noclean_mode)
Pass::call(design, "opt_clean");
}
else
{
Expand All @@ -414,7 +424,8 @@ struct SubmodPass : public Pass {
if (module == nullptr)
log("Nothing selected -> do nothing.\n");
else {
Pass::call_on_module(design, module, "opt_clean");
if (!noclean_mode)
Pass::call_on_module(design, module, "opt_clean");
log_header(design, "Continuing SUBMOD pass.\n");
SubmodWorker worker(design, module, copy_mode, hidden_mode, opt_name);
}
Expand Down

0 comments on commit cc5e893

Please sign in to comment.