diff options
Diffstat (limited to 'src/tools/tool-options.h')
-rw-r--r-- | src/tools/tool-options.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/tools/tool-options.h b/src/tools/tool-options.h index 6d68ff3c1..599b3b22c 100644 --- a/src/tools/tool-options.h +++ b/src/tools/tool-options.h @@ -151,7 +151,35 @@ struct ToolOptions : public Options { Options::Arguments::Zero, [this](Options*, const std::string&) { passOptions.closedWorld = true; - }); + }) + .add("--generate-stack-ir", + "", + "generate StackIR during writing", + ToolOptionsCategory, + Options::Arguments::Zero, + [&](Options* o, const std::string& arguments) { + passOptions.generateStackIR = true; + }) + .add("--optimize-stack-ir", + "", + "optimize StackIR during writing", + ToolOptionsCategory, + Options::Arguments::Zero, + [&](Options* o, const std::string& arguments) { + // Also generate StackIR, to have something to optimize. + passOptions.generateStackIR = true; + passOptions.optimizeStackIR = true; + }) + .add("--print-stack-ir", + "", + "print StackIR during writing", + ToolOptionsCategory, + Options::Arguments::Zero, + [&](Options* o, const std::string& arguments) { + // Also generate StackIR, to have something to print. + passOptions.generateStackIR = true; + passOptions.printStackIR = &std::cout; + }); } ToolOptions& addFeature(FeatureSet::Feature feature, |