mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 09:05:32 +00:00
Add noclean option to submod for speedup
This commit is contained in:
parent
e62bc102ca
commit
cc5e893db8
1 changed files with 14 additions and 3 deletions
|
@ -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
|
||||
{
|
||||
|
@ -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++) {
|
||||
|
@ -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;
|
||||
|
@ -401,7 +410,8 @@ struct SubmodPass : public Pass {
|
|||
}
|
||||
}
|
||||
|
||||
Pass::call(design, "opt_clean");
|
||||
if (!noclean_mode)
|
||||
Pass::call(design, "opt_clean");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue