diff options
Diffstat (limited to 'passes/opt/opt.cc')
-rw-r--r-- | passes/opt/opt.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/passes/opt/opt.cc b/passes/opt/opt.cc index ea454b333..83a30ad77 100644 --- a/passes/opt/opt.cc +++ b/passes/opt/opt.cc @@ -37,22 +37,22 @@ struct OptPass : public Pass { log("a series of trivial optimizations and cleanups. This pass executes the other\n"); log("passes in the following order:\n"); log("\n"); - log(" opt_const [-mux_undef] [-mux_bool] [-undriven] [-fine] [-keepdc]\n"); + log(" opt_const [-mux_undef] [-mux_bool] [-undriven] [-fine] [-full] [-keepdc]\n"); log(" opt_share -nomux\n"); log("\n"); log(" do\n"); log(" opt_muxtree\n"); - log(" opt_reduce [-fine]\n"); + log(" opt_reduce [-fine] [-full]\n"); log(" opt_share\n"); log(" opt_rmdff\n"); log(" opt_clean [-purge]\n"); - log(" opt_const [-mux_undef] [-mux_bool] [-undriven] [-fine] [-keepdc]\n"); + log(" opt_const [-mux_undef] [-mux_bool] [-undriven] [-fine] [-full] [-keepdc]\n"); log(" while <changed design>\n"); log("\n"); log("When called with -fast the following script is used instead:\n"); log("\n"); log(" do\n"); - log(" opt_const [-mux_undef] [-mux_bool] [-undriven] [-fine] [-keepdc]\n"); + log(" opt_const [-mux_undef] [-mux_bool] [-undriven] [-fine] [-full] [-keepdc]\n"); log(" opt_share\n"); log(" opt_rmdff\n"); log(" opt_clean [-purge]\n"); @@ -96,6 +96,11 @@ struct OptPass : public Pass { opt_reduce_args += " -fine"; continue; } + if (args[argidx] == "-full") { + opt_const_args += " -full"; + opt_reduce_args += " -full"; + continue; + } if (args[argidx] == "-keepdc") { opt_const_args += " -keepdc"; continue; |