summaryrefslogtreecommitdiff
path: root/src/tools/tool-options.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/tool-options.h')
-rw-r--r--src/tools/tool-options.h30
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,