mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
Test that the compiler/library builds with -Zmir-opt-level=3 -Zvalidate-mir
This commit is contained in:
parent
07c993eba8
commit
34813e2051
@ -666,6 +666,9 @@ changelog-seen = 2
|
||||
# LTO entirely.
|
||||
#lto = "thin-local"
|
||||
|
||||
# Build compiler with the optimization enabled and -Zvalidate-mir, currently only for `std`
|
||||
#validate-mir-opts = 3
|
||||
|
||||
# =============================================================================
|
||||
# Options for specific targets
|
||||
#
|
||||
|
@ -1915,6 +1915,13 @@ impl<'a> Builder<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
if matches!(mode, Mode::Std) {
|
||||
if let Some(mir_opt_level) = self.config.rust_validate_mir_opts {
|
||||
rustflags.arg("-Zvalidate-mir");
|
||||
rustflags.arg(&format!("-Zmir-opt-level={}", mir_opt_level));
|
||||
}
|
||||
}
|
||||
|
||||
Cargo { command: cargo, rustflags, rustdocflags, allow_features }
|
||||
}
|
||||
|
||||
|
@ -173,6 +173,7 @@ pub struct Config {
|
||||
pub rust_profile_use: Option<String>,
|
||||
pub rust_profile_generate: Option<String>,
|
||||
pub rust_lto: RustcLto,
|
||||
pub rust_validate_mir_opts: Option<u32>,
|
||||
pub llvm_profile_use: Option<String>,
|
||||
pub llvm_profile_generate: bool,
|
||||
pub llvm_libunwind_default: Option<LlvmLibunwind>,
|
||||
@ -770,6 +771,7 @@ define_config! {
|
||||
// ignored; this is set from an env var set by bootstrap.py
|
||||
download_rustc: Option<StringOrBool> = "download-rustc",
|
||||
lto: Option<String> = "lto",
|
||||
validate_mir_opts: Option<u32> = "validate-mir-opts",
|
||||
}
|
||||
}
|
||||
|
||||
@ -1149,6 +1151,7 @@ impl Config {
|
||||
.as_deref()
|
||||
.map(|value| RustcLto::from_str(value).unwrap())
|
||||
.unwrap_or_default();
|
||||
config.rust_validate_mir_opts = rust.validate_mir_opts;
|
||||
} else {
|
||||
config.rust_profile_use = flags.rust_profile_use;
|
||||
config.rust_profile_generate = flags.rust_profile_generate;
|
||||
|
@ -58,6 +58,7 @@ RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-manage-submodules"
|
||||
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-locked-deps"
|
||||
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --enable-cargo-native-static"
|
||||
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.codegen-units-std=1"
|
||||
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.validate-mir-opts=3"
|
||||
|
||||
# Only produce xz tarballs on CI. gz tarballs will be generated by the release
|
||||
# process by recompressing the existing xz ones. This decreases the storage
|
||||
|
Loading…
Reference in New Issue
Block a user