summaryrefslogtreecommitdiff
path: root/src/tools/optimization-options.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/optimization-options.h')
-rw-r--r--src/tools/optimization-options.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/tools/optimization-options.h b/src/tools/optimization-options.h
index 6af247924..7f769463c 100644
--- a/src/tools/optimization-options.h
+++ b/src/tools/optimization-options.h
@@ -123,6 +123,41 @@ struct OptimizationOptions : public ToolOptions {
[this](Options* o, const std::string& argument) {
passOptions.shrinkLevel = atoi(argument.c_str());
})
+ .add("--always-inline-max-function-size",
+ "-aimfs",
+ "Max size of functions that are always inlined (default " +
+ std::to_string(InliningOptions().alwaysInlineMaxSize) +
+ ", which "
+ "is safe for use with -Os builds)",
+ Options::Arguments::One,
+ [this](Options* o, const std::string& argument) {
+ passOptions.inlining.alwaysInlineMaxSize =
+ static_cast<Index>(atoi(argument.c_str()));
+ })
+ .add("--flexible-inline-max-function-size",
+ "-fimfs",
+ "Max size of functions that are inlined when lightweight (no loops "
+ "or function calls) when optimizing aggressively for speed (-O3). "
+ "Default: " +
+ std::to_string(InliningOptions().flexibleInlineMaxSize),
+ Options::Arguments::One,
+ [this](Options* o, const std::string& argument) {
+ passOptions.inlining.flexibleInlineMaxSize =
+ static_cast<Index>(atoi(argument.c_str()));
+ })
+ .add("--one-caller-inline-max-function-size",
+ "-ocimfs",
+ "Max size of functions that are inlined when there is only one "
+ "caller (default " +
+ std::to_string(InliningOptions().oneCallerInlineMaxSize) +
+ "). Reason this is not unbounded is that some "
+ "implementations may have a hard time optimizing really large "
+ "functions",
+ Options::Arguments::One,
+ [this](Options* o, const std::string& argument) {
+ passOptions.inlining.oneCallerInlineMaxSize =
+ static_cast<Index>(atoi(argument.c_str()));
+ })
.add("--ignore-implicit-traps",
"-iit",
"Optimize under the helpful assumption that no surprising traps "