Optimize generated code via the CLI by default (#973)

* Optimize generated code via the CLI by default

This commit updates the behavior of the CLI and adds a new flag. It
first enables the `--optimize` flag by default, ensuring that usage of
the `wasmtime` CLI will enable cranelift optimizations by default. Next
it also adds a `--opt-level` flag which is similar to Rust's
`-Copt-level` where it takes a string argument of how to optimize. This
is updates to support 0/1/2/s, where 1 is currently the same as 2 but
added for consistency with other compilers. The default setting is
`--opt-level=2`.

When the `-O` flag is not passed the `--opt-level` flag is used,
otherwise `-O` takes precedent in the sense that it implies
`--opt-level=2` which is the highest optimization level. The thinking is
that these flags will in general select the highest optimization level
specified as the final optimization level.

* Add inline docs

* fix a test
This commit is contained in:
Alex Crichton
2020-02-24 15:18:09 -06:00
committed by GitHub
parent 13523e6312
commit d4fcd32cdc
4 changed files with 43 additions and 9 deletions

View File

@@ -75,7 +75,7 @@ impl WasmToObjCommand {
self.target.as_ref(),
strategy,
self.common.enable_simd,
self.common.optimize,
self.common.opt_level(),
self.common.debug_info,
self.output.clone(),
&cache_config,