Reorganise optimisation level settings, and make the insn shrink pass optional (#1044)
This patch: * removes the "default" opt level, on the basis that it has no definition and is referred to nowhere in the compiler. * renames the "fastest" level to "none". The resulting set of transformations is unchanged. * renames the "best" level to "speed_and_size". The resulting set of transformations is unchanged. * adds a new level, "speed". This is the same as "speed_and_size" except that it omits transformations aimed only at reducing code size. Currently it omits only the insn shrinking pass.
This commit is contained in:
@@ -8,11 +8,12 @@ pub fn define() -> SettingGroup {
|
||||
r#"
|
||||
Optimization level:
|
||||
|
||||
- default: Very profitable optimizations enabled, none slow.
|
||||
- best: Enable all optimizations
|
||||
- fastest: Optimize for compile time by disabling most optimizations.
|
||||
- none: Minimise compile time by disabling most optimizations.
|
||||
- speed: Generate the fastest possible code
|
||||
- speed_and_size: like "speed", but also perform transformations
|
||||
aimed at reducing code size.
|
||||
"#,
|
||||
vec!["default", "best", "fastest"],
|
||||
vec!["none", "speed", "speed_and_size"],
|
||||
);
|
||||
|
||||
settings.add_bool(
|
||||
|
||||
Reference in New Issue
Block a user