diff --git a/Cargo.lock b/Cargo.lock index 9b2bcfd1e8b8..b409832c7063 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,13 +19,13 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aes" -version = "0.8.4" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +checksum = "66bd29a732b644c0431c6140f370d097879203d79b80c94a6747ba0872adaef8" dependencies = [ - "cfg-if", "cipher", - "cpufeatures", + "cpubits", + "cpufeatures 0.3.0", ] [[package]] @@ -566,6 +566,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", +] + [[package]] name = "chrono" version = "0.4.42" @@ -589,11 +600,11 @@ dependencies = [ [[package]] name = "cipher" -version = "0.4.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" dependencies = [ - "crypto-common", + "crypto-common 0.2.1", "inout", ] @@ -905,6 +916,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -914,6 +931,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -967,6 +993,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +dependencies = [ + "hybrid-array", +] + [[package]] name = "ctrlc" version = "3.5.1" @@ -1188,7 +1223,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "crypto-common", + "crypto-common 0.1.7", ] [[package]] @@ -1562,10 +1597,24 @@ checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", - "r-efi", + "r-efi 5.3.0", "wasi 0.14.2+wasi-0.2.4", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasip2", + "wasip3", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1733,6 +1782,15 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" +[[package]] +name = "hybrid-array" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +dependencies = [ + "typenum", +] + [[package]] name = "iana-time-zone" version = "0.1.64" @@ -1964,11 +2022,11 @@ checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" [[package]] name = "inout" -version = "0.1.4" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] @@ -2456,7 +2514,7 @@ dependencies = [ "colored", "directories", "genmc-sys", - "getrandom 0.3.3", + "getrandom 0.4.2", "ipc-channel", "libc", "libffi", @@ -2464,7 +2522,7 @@ dependencies = [ "measureme", "mio", "nix", - "rand 0.9.2", + "rand 0.10.1", "regex", "rustc_version", "serde", @@ -3038,6 +3096,16 @@ dependencies = [ "owo-colors", ] +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -3127,6 +3195,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rancor" version = "0.1.1" @@ -3157,6 +3231,17 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +dependencies = [ + "chacha20", + "getrandom 0.4.2", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -3195,6 +3280,12 @@ dependencies = [ "getrandom 0.3.3", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rand_xorshift" version = "0.4.0" @@ -3831,7 +3922,6 @@ dependencies = [ "rustc_metadata", "rustc_middle", "rustc_mir_build", - "rustc_mir_transform", "rustc_parse", "rustc_public", "rustc_resolve", @@ -5170,7 +5260,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -5181,7 +5271,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -5837,9 +5927,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "ucd-parse" @@ -6133,6 +6223,24 @@ version = "43.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93759d6fd0db242718bdcc6e4626eff8b0f3124ee7e58e47177a59f561baf164" +[[package]] +name = "wasip2" +version = "1.0.3+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +dependencies = [ + "wit-bindgen 0.57.1", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + [[package]] name = "wasm-bindgen" version = "0.2.105" @@ -6195,8 +6303,8 @@ dependencies = [ "wat", "windows-sys 0.61.2", "winsplit", - "wit-component", - "wit-parser", + "wit-component 0.246.2", + "wit-parser 0.246.2", ] [[package]] @@ -6216,6 +6324,16 @@ dependencies = [ "wasmparser 0.219.2", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-encoder" version = "0.246.2" @@ -6226,6 +6344,18 @@ dependencies = [ "wasmparser 0.246.2", ] +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder 0.244.0", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-metadata" version = "0.246.2" @@ -6258,6 +6388,18 @@ dependencies = [ "indexmap", ] +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "wasmparser" version = "0.246.2" @@ -6637,6 +6779,32 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ab703352da6a72f35c39a533526393725640575bb211f61987a2748323ad956" +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser 0.244.0", +] + [[package]] name = "wit-bindgen-rt" version = "0.39.0" @@ -6646,6 +6814,56 @@ dependencies = [ "bitflags", ] +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata 0.244.0", + "wit-bindgen-core", + "wit-component 0.244.0", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder 0.244.0", + "wasm-metadata 0.244.0", + "wasmparser 0.244.0", + "wit-parser 0.244.0", +] + [[package]] name = "wit-component" version = "0.246.2" @@ -6660,9 +6878,27 @@ dependencies = [ "serde_derive", "serde_json", "wasm-encoder 0.246.2", - "wasm-metadata", + "wasm-metadata 0.246.2", "wasmparser 0.246.2", - "wit-parser", + "wit-parser 0.246.2", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.244.0", ] [[package]] diff --git a/compiler/rustc_codegen_llvm/src/lib.rs b/compiler/rustc_codegen_llvm/src/lib.rs index e4312ff935c0..a697f8fe70bb 100644 --- a/compiler/rustc_codegen_llvm/src/lib.rs +++ b/compiler/rustc_codegen_llvm/src/lib.rs @@ -373,6 +373,10 @@ fn print_statistics(&self) { print!("{stats}"); } + fn print_statistics_json(&self) -> String { + llvm::build_string(|s| unsafe { llvm::LLVMRustPrintStatisticsJSON(s) }).unwrap() + } + fn link( &self, sess: &Session, diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs index 9ecf5afcbcb3..573a765aef02 100644 --- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs @@ -2114,6 +2114,9 @@ pub(crate) fn LLVMRustBuildMemSet<'a>( /// Prints the statistics collected by `-Zprint-codegen-stats`. pub(crate) fn LLVMRustPrintStatistics(OutStr: &RustString); + /// Save the statistics collected by `-Zprint-codegen-stats-json` + pub(crate) fn LLVMRustPrintStatisticsJSON(OutStr: &RustString); + pub(crate) fn LLVMRustInlineAsmVerify( Ty: &Type, Constraints: *const c_uchar, // See "PTR_LEN_STR". diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs index 10802f8b12a3..bf9db092ab7f 100644 --- a/compiler/rustc_codegen_llvm/src/llvm_util.rs +++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs @@ -120,7 +120,7 @@ fn llvm_arg_to_arg_name(full_arg: &str) -> &str { // Use non-zero `import-instr-limit` multiplier for cold callsites. add("-import-cold-multiplier=0.1", false); - if sess.print_llvm_stats() { + if sess.print_llvm_stats() || sess.print_llvm_stats_json().is_some() { add("-stats", false); } diff --git a/compiler/rustc_codegen_ssa/src/traits/backend.rs b/compiler/rustc_codegen_ssa/src/traits/backend.rs index 6ad3447ad69e..cbb75836f979 100644 --- a/compiler/rustc_codegen_ssa/src/traits/backend.rs +++ b/compiler/rustc_codegen_ssa/src/traits/backend.rs @@ -131,6 +131,10 @@ fn print_pass_timings(&self) {} fn print_statistics(&self) {} + fn print_statistics_json(&self) -> String { + String::new() + } + /// This is called on the returned [`CompiledModules`] from [`join_codegen`](Self::join_codegen). fn link( &self, diff --git a/compiler/rustc_driver_impl/Cargo.toml b/compiler/rustc_driver_impl/Cargo.toml index 10e1b1987194..aeb2063e7696 100644 --- a/compiler/rustc_driver_impl/Cargo.toml +++ b/compiler/rustc_driver_impl/Cargo.toml @@ -27,7 +27,6 @@ rustc_macros = { path = "../rustc_macros" } rustc_metadata = { path = "../rustc_metadata" } rustc_middle = { path = "../rustc_middle" } rustc_mir_build = { path = "../rustc_mir_build" } -rustc_mir_transform = { path = "../rustc_mir_transform" } rustc_parse = { path = "../rustc_parse" } rustc_public = { path = "../rustc_public", features = ["rustc_internal"] } rustc_resolve = { path = "../rustc_resolve" } diff --git a/compiler/rustc_driver_impl/src/lib.rs b/compiler/rustc_driver_impl/src/lib.rs index aaac65721dfa..73de6cf94d5a 100644 --- a/compiler/rustc_driver_impl/src/lib.rs +++ b/compiler/rustc_driver_impl/src/lib.rs @@ -6,6 +6,7 @@ // tidy-alphabetical-start #![feature(decl_macro)] +#![feature(file_buffered)] #![feature(panic_backtrace_config)] #![feature(panic_update_hook)] #![feature(trim_prefix_suffix)] @@ -333,7 +334,7 @@ pub fn run_compiler(at_args: &[String], callbacks: &mut (dyn Callbacks + Send)) } if tcx.sess.opts.output_types.contains_key(&OutputType::Mir) { - if let Err(error) = rustc_mir_transform::dump_mir::emit_mir(tcx) { + if let Err(error) = pretty::emit_mir(tcx) { tcx.dcx().emit_fatal(CantEmitMIR { error }); } } diff --git a/compiler/rustc_driver_impl/src/pretty.rs b/compiler/rustc_driver_impl/src/pretty.rs index 3d3906637b8b..426ead704ab8 100644 --- a/compiler/rustc_driver_impl/src/pretty.rs +++ b/compiler/rustc_driver_impl/src/pretty.rs @@ -2,6 +2,8 @@ use std::cell::Cell; use std::fmt::Write; +use std::fs::File; +use std::io; use rustc_ast as ast; use rustc_ast_pretty::pprust as pprust_ast; @@ -12,7 +14,7 @@ use rustc_mir_build::thir::print::{thir_flat, thir_tree}; use rustc_public::rustc_internal::pretty::write_smir_pretty; use rustc_session::Session; -use rustc_session::config::{OutFileName, PpHirMode, PpMode, PpSourceMode}; +use rustc_session::config::{OutFileName, OutputType, PpHirMode, PpMode, PpSourceMode}; use rustc_span::{FileName, Ident}; use tracing::debug; @@ -340,3 +342,21 @@ pub fn print<'tcx>(sess: &Session, ppm: PpMode, ex: PrintExtra<'tcx>) { write_or_print(&out, sess); } + +/// Implementation of `--emit=mir`. +pub fn emit_mir(tcx: TyCtxt<'_>) -> io::Result<()> { + match tcx.output_filenames(()).path(OutputType::Mir) { + OutFileName::Stdout => { + let mut f = io::stdout(); + write_mir_pretty(tcx, &mut f)?; + } + OutFileName::Real(path) => { + let mut f = File::create_buffered(&path)?; + write_mir_pretty(tcx, &mut f)?; + if tcx.sess.opts.json_artifact_notifications { + tcx.dcx().emit_artifact_notification(&path, "mir"); + } + } + } + Ok(()) +} diff --git a/compiler/rustc_interface/src/queries.rs b/compiler/rustc_interface/src/queries.rs index fd1b5104fc6d..20ac6e258ed1 100644 --- a/compiler/rustc_interface/src/queries.rs +++ b/compiler/rustc_interface/src/queries.rs @@ -70,6 +70,22 @@ pub fn link(self, sess: &Session, codegen_backend: &dyn CodegenBackend) { codegen_backend.print_statistics() } + if let Some(out_path) = sess.print_llvm_stats_json() { + let llvm_stats_json = codegen_backend.print_statistics_json(); + + if !llvm_stats_json.is_empty() { + if let Err(e) = std::fs::write(&out_path, llvm_stats_json) { + sess.dcx().err(format!("failed to write stats to {}: {}", out_path, e)); + } + } else { + sess.dcx().warn(format!( + "requested to print LLVM statistics to JSON file {}, but the codegen backend \ + did not provide any statistics", + out_path, + )); + } + } + sess.timings.end_section(sess.dcx(), TimingSection::Codegen); if sess.opts.incremental.is_some() diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp index 91bb1c973363..63e3119ee96f 100644 --- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp @@ -155,6 +155,11 @@ extern "C" void LLVMRustPrintStatistics(RustStringRef OutBuf) { llvm::PrintStatistics(OS); } +extern "C" void LLVMRustPrintStatisticsJSON(RustStringRef OutBuf) { + auto OS = RawRustStringOstream(OutBuf); + llvm::PrintStatisticsJSON(OS); +} + // Some of the functions here rely on LLVM modules that may not always be // available. As such, we only try to build it in the first place, if // llvm.offload is enabled. diff --git a/compiler/rustc_mir_transform/src/dump_mir.rs b/compiler/rustc_mir_transform/src/dump_mir.rs deleted file mode 100644 index 50d4e9894e74..000000000000 --- a/compiler/rustc_mir_transform/src/dump_mir.rs +++ /dev/null @@ -1,39 +0,0 @@ -//! This pass just dumps MIR at a specified point. - -use std::fs::File; -use std::io; - -use rustc_middle::mir::{Body, write_mir_pretty}; -use rustc_middle::ty::TyCtxt; -use rustc_session::config::{OutFileName, OutputType}; - -pub(super) struct Marker(pub &'static str); - -impl<'tcx> crate::MirPass<'tcx> for Marker { - fn name(&self) -> &'static str { - self.0 - } - - fn run_pass(&self, _tcx: TyCtxt<'tcx>, _body: &mut Body<'tcx>) {} - - fn is_required(&self) -> bool { - false - } -} - -pub fn emit_mir(tcx: TyCtxt<'_>) -> io::Result<()> { - match tcx.output_filenames(()).path(OutputType::Mir) { - OutFileName::Stdout => { - let mut f = io::stdout(); - write_mir_pretty(tcx, &mut f)?; - } - OutFileName::Real(path) => { - let mut f = File::create_buffered(&path)?; - write_mir_pretty(tcx, &mut f)?; - if tcx.sess.opts.json_artifact_notifications { - tcx.dcx().emit_artifact_notification(&path, "mir"); - } - } - } - Ok(()) -} diff --git a/compiler/rustc_mir_transform/src/lib.rs b/compiler/rustc_mir_transform/src/lib.rs index 91dfffcf1a6a..96033bea47e4 100644 --- a/compiler/rustc_mir_transform/src/lib.rs +++ b/compiler/rustc_mir_transform/src/lib.rs @@ -2,7 +2,6 @@ #![feature(box_patterns)] #![feature(const_type_name)] #![feature(cow_is_borrowed)] -#![feature(file_buffered)] #![feature(impl_trait_in_assoc_type)] #![feature(iterator_try_collect)] #![feature(try_blocks)] @@ -91,8 +90,6 @@ macro_rules! declare_passes { static PASS_NAMES: LazyLock> = LazyLock::new(|| { let mut set = FxIndexSet::default(); - // Fake marker pass - set.insert("PreCodegen"); $( $( set.extend(pass_names!($mod_name : $pass_name $( { $($ident),* } )? )); @@ -145,7 +142,6 @@ mod dead_store_elimination : DeadStoreElimination { }; mod deref_separator : Derefer; mod dest_prop : DestinationPropagation; - pub mod dump_mir : Marker; mod early_otherwise_branch : EarlyOtherwiseBranch; mod erase_deref_temps : EraseDerefTemps; mod elaborate_box_derefs : ElaborateBoxDerefs; @@ -771,8 +767,6 @@ fn o1(x: T) -> WithMinOptLevel { // Cleanup for human readability, off by default. &prettify::ReorderBasicBlocks, &prettify::ReorderLocals, - // Dump the end result for testing and debugging purposes. - &dump_mir::Marker("PreCodegen"), ], Some(MirPhase::Runtime(RuntimePhase::Optimized)), optimizations, diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index 1c166fd49cdf..aa9331ee8f65 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -2546,6 +2546,9 @@ pub(crate) fn parse_assert_incr_state( #[rustc_lint_opt_deny_field_access("use `Session::print_codegen_stats` instead of this field")] print_codegen_stats: bool = (false, parse_bool, [UNTRACKED], "print codegen statistics (default: no)"), + #[rustc_lint_opt_deny_field_access("use `Session::print_llvm_stats_json` instead of this field")] + print_codegen_stats_json: Option = (None, parse_opt_string, [UNTRACKED], + "print codegen statistics in JSON to a file (default: no)"), print_llvm_passes: bool = (false, parse_bool, [UNTRACKED], "print the LLVM optimization passes being run (default: no)"), print_mono_items: bool = (false, parse_bool, [UNTRACKED], diff --git a/compiler/rustc_session/src/session.rs b/compiler/rustc_session/src/session.rs index f67feeab6573..003164e8f905 100644 --- a/compiler/rustc_session/src/session.rs +++ b/compiler/rustc_session/src/session.rs @@ -599,6 +599,10 @@ pub fn print_llvm_stats(&self) -> bool { self.opts.unstable_opts.print_codegen_stats } + pub fn print_llvm_stats_json(&self) -> Option<&String> { + self.opts.unstable_opts.print_codegen_stats_json.as_ref() + } + pub fn verify_llvm_ir(&self) -> bool { self.opts.unstable_opts.verify_llvm_ir || option_env!("RUSTC_VERIFY_LLVM_IR").is_some() } diff --git a/compiler/rustc_trait_selection/src/traits/dyn_compatibility.rs b/compiler/rustc_trait_selection/src/traits/dyn_compatibility.rs index d1522ec89a01..b81d466f9106 100644 --- a/compiler/rustc_trait_selection/src/traits/dyn_compatibility.rs +++ b/compiler/rustc_trait_selection/src/traits/dyn_compatibility.rs @@ -867,7 +867,8 @@ fn visit_const(&mut self, ct: ty::Const<'tcx>) -> Self::Result { ty::ConstKind::Unevaluated(proj) if self.tcx.features().min_generic_const_args() => { match self.allow_self_projections { AllowSelfProjections::Yes - if let trait_def_id = self.tcx.parent(proj.def) + if matches!(self.tcx.def_kind(proj.def), DefKind::AssocConst { .. }) + && let trait_def_id = self.tcx.parent(proj.def) && self.tcx.def_kind(trait_def_id) == DefKind::Trait => { let trait_ref = ty::TraitRef::from_assoc(self.tcx, trait_def_id, proj.args); diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs index 20d5ca36c5e6..8247e8739f35 100644 --- a/src/bootstrap/src/core/builder/cargo.rs +++ b/src/bootstrap/src/core/builder/cargo.rs @@ -1079,6 +1079,12 @@ fn cargo( format!("{}={map_to}", self.build.src.display()), // remap OUT_DIR so they don't leak into artifacts. format!("{}={map_to}/out", self.build.out.display()), + // on windows, rustc may use forward slashes internally + #[cfg(windows)] + format!( + "{}={map_to}\\out", + self.build.out.display().to_string().replace('/', "\\") + ), ] .join("\t"); cargo.env("RUSTC_DEBUGINFO_MAP", map); @@ -1101,6 +1107,12 @@ fn cargo( format!("{}={map_to}", self.build.src.display()), // remap OUT_DIR so they don't leak into artifacts. format!("{}={map_to}/out", self.build.out.display()), + // on windows, rustc may use forward slashes internally + #[cfg(windows)] + format!( + "{}={map_to}\\out", + self.build.out.display().to_string().replace('/', "\\") + ), ] .join("\t"); cargo.env("RUSTC_DEBUGINFO_MAP", map); diff --git a/src/bootstrap/src/utils/proc_macro_deps.rs b/src/bootstrap/src/utils/proc_macro_deps.rs index 94f8243ae1f6..6dde0ae28064 100644 --- a/src/bootstrap/src/utils/proc_macro_deps.rs +++ b/src/bootstrap/src/utils/proc_macro_deps.rs @@ -3,9 +3,12 @@ /// See pub static CRATES: &[&str] = &[ // tidy-alphabetical-start + "allocator-api2", + "anyhow", "askama_derive", "askama_parser", "basic-toml", + "bitflags", "block-buffer", "bumpalo", "cfg-if", @@ -25,24 +28,32 @@ "glob", "hashbrown", "heck", + "id-arena", "ident_case", "indexmap", "intl-memoizer", "intl_pluralrules", + "itoa", + "leb128fmt", "libc", + "log", "memchr", "minimal-lexical", "nom", "pest", "pest_generator", "pest_meta", + "prettyplease", "proc-macro2", "quote", "rustc-hash", + "ryu", "self_cell", + "semver", "serde", "serde_core", "serde_derive_internals", + "serde_json", "sha2", "smallvec", "stable_deref_trait", @@ -58,10 +69,18 @@ "unic-langid-impl", "unic-langid-macros", "unicode-ident", + "unicode-xid", "version_check", "wasm-bindgen-macro-support", "wasm-bindgen-shared", + "wasm-encoder", + "wasm-metadata", + "wasmparser", "winnow", + "wit-bindgen-core", + "wit-bindgen-rust", + "wit-component", + "wit-parser", "yoke", "zerofrom", "zerovec", diff --git a/src/tools/miri/Cargo.lock b/src/tools/miri/Cargo.lock index 3a810a6415d1..bebacba77daf 100644 --- a/src/tools/miri/Cargo.lock +++ b/src/tools/miri/Cargo.lock @@ -19,12 +19,12 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aes" -version = "0.8.4" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +checksum = "66bd29a732b644c0431c6140f370d097879203d79b80c94a6747ba0872adaef8" dependencies = [ - "cfg-if", "cipher", + "cpubits", "cpufeatures", ] @@ -49,15 +49,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "autocfg" @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "bstr" @@ -108,15 +108,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "camino" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ "serde_core", ] @@ -165,9 +165,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.46" +version = "1.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36" +checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" dependencies = [ "find-msvc-tools", "jobserver", @@ -188,10 +188,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] -name = "chrono" -version = "0.4.42" +name = "chacha20" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures", + "rand_core 0.10.1", +] + +[[package]] +name = "chrono" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "num-traits", ] @@ -208,9 +219,9 @@ dependencies = [ [[package]] name = "cipher" -version = "0.4.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" dependencies = [ "crypto-common", "inout", @@ -218,18 +229,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.51" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.51" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstyle", "clap_lex", @@ -238,15 +249,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "cmake" -version = "0.1.54" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" dependencies = [ "cc", ] @@ -291,11 +302,11 @@ dependencies = [ [[package]] name = "colored" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" +checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -306,22 +317,27 @@ checksum = "55b672471b4e9f9e95499ea597ff64941a309b2cdbffcc46f2cc5e2d971fd335" [[package]] name = "console" -version = "0.15.11" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +checksum = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" dependencies = [ "encode_unicode", "libc", - "once_cell", "unicode-width", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] -name = "cpufeatures" -version = "0.2.17" +name = "cpubits" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" dependencies = [ "libc", ] @@ -343,34 +359,33 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-common" -version = "0.1.7" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" dependencies = [ - "generic-array", - "typenum", + "hybrid-array", ] [[package]] name = "cxx" -version = "1.0.188" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ac4eaf7ebe29e92f1b091ceefec7710a53a6f6154b2460afda626c113b65b9" +checksum = "747d8437319e3a2f43d93b341c137927ca70c0f5dabeea7a005a73665e247c7e" dependencies = [ "cc", "cxx-build", "cxxbridge-cmd", "cxxbridge-flags", "cxxbridge-macro", - "foldhash", + "foldhash 0.2.0", "link-cplusplus", ] [[package]] name = "cxx-build" -version = "1.0.188" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2abd4c3021eefbac5149f994c117b426852bca3a0aad227698527bca6d4ea657" +checksum = "b0f4697d190a142477b16aef7da8a99bfdc41e7e8b1687583c0d23a79c7afc1e" dependencies = [ "cc", "codespan-reporting", @@ -383,9 +398,9 @@ dependencies = [ [[package]] name = "cxxbridge-cmd" -version = "1.0.188" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f12fbc5888b2311f23e52a601e11ad7790d8f0dbb903ec26e2513bf5373ed70" +checksum = "d0956799fa8678d4c50eed028f2de1c0552ae183c76e976cf7ca8c4e36a7c328" dependencies = [ "clap", "codespan-reporting", @@ -397,15 +412,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.188" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d3dd7870af06e283f3f8ce0418019c96171c9ce122cfb9c8879de3d84388fd" +checksum = "23384a836ab4f0ad98ace7e3955ad2de39de42378ab487dc28d3990392cb283a" [[package]] name = "cxxbridge-macro" -version = "1.0.188" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26f0d82da663316786791c3d0e9f9edc7d1ee1f04bdad3d2643086a69d6256c" +checksum = "e6acc6b5822b9526adfb4fc377b67128fdd60aac757cc4a741a6278603f763cf" dependencies = [ "indexmap", "proc-macro2", @@ -431,7 +446,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -464,7 +479,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -479,15 +494,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "find-msvc-tools" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fnv" @@ -495,6 +510,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "foldhash" version = "0.2.0" @@ -511,13 +532,27 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "futures-core" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ - "typenum", - "version_check", + "futures-core", + "futures-task", + "pin-project-lite", + "slab", ] [[package]] @@ -533,9 +568,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "libc", @@ -550,10 +585,24 @@ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasip2", + "wasip3", +] + [[package]] name = "gimli" version = "0.32.3" @@ -577,18 +626,43 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.16.0" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hybrid-array" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +dependencies = [ + "typenum", +] [[package]] name = "icu_collections" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", "potential_utf", + "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -596,9 +670,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -609,9 +683,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -623,15 +697,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ "icu_collections", "icu_locale_core", @@ -643,15 +717,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", "icu_locale_core", @@ -662,6 +736,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "idna" version = "1.1.0" @@ -675,9 +755,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" dependencies = [ "icu_normalizer", "icu_properties", @@ -691,34 +771,36 @@ checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" [[package]] name = "indexmap" -version = "2.12.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.17.1", + "serde", + "serde_core", ] [[package]] name = "indicatif" -version = "0.17.11" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" +checksum = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" dependencies = [ "console", - "number_prefix", "portable-atomic", "unicode-width", + "unit-prefix", "web-time", ] [[package]] name = "inout" -version = "0.1.4" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] @@ -732,7 +814,7 @@ dependencies = [ "fnv", "libc", "mio", - "rand", + "rand 0.9.4", "serde", "tempfile", "uuid", @@ -741,9 +823,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jobserver" @@ -757,10 +839,12 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" dependencies = [ + "cfg-if", + "futures-util", "once_cell", "wasm-bindgen", ] @@ -771,6 +855,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "levenshtein" version = "1.0.5" @@ -779,9 +869,9 @@ checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" [[package]] name = "libc" -version = "0.2.182" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libffi" @@ -804,9 +894,9 @@ dependencies = [ [[package]] name = "libgit2-sys" -version = "0.18.3+1.9.2" +version = "0.18.4+1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" +checksum = "9b26f66f35e1871b22efcf7191564123d2a446ca0538cde63c23adfefa9b15b7" dependencies = [ "cc", "libc", @@ -827,19 +917,18 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags", "libc", ] [[package]] name = "libz-sys" -version = "1.1.23" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" +checksum = "fc3a226e576f50782b3305c5ccf458698f92798987f551c6a02efe8276721e22" dependencies = [ "cc", "libc", @@ -858,15 +947,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "lock_api" @@ -879,9 +968,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "measureme" @@ -899,9 +988,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" @@ -923,14 +1012,14 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", "log", "wasi", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -945,7 +1034,7 @@ dependencies = [ "colored", "directories", "genmc-sys", - "getrandom 0.3.4", + "getrandom 0.4.2", "ipc-channel", "libc", "libffi", @@ -953,7 +1042,7 @@ dependencies = [ "measureme", "mio", "nix", - "rand", + "rand 0.10.1", "regex", "rustc_version", "serde", @@ -984,12 +1073,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "object" version = "0.37.3" @@ -1001,9 +1084,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "openssl-probe" @@ -1013,9 +1096,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.114" +version = "0.9.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13ce1245cd07fcc4cfdb438f7507b0c7e4f3849a69fd84d52374c66d83741bb6" +checksum = "158fe5b292746440aa6e7a7e690e55aeb72d41505e2804c23c6973ad0e9c9781" dependencies = [ "cc", "libc", @@ -1031,9 +1114,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "owo-colors" -version = "4.2.3" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6901729fa79e91a0913333229e9ca5dc725089d1c363b2f4b4760709dc4a52" +checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d" [[package]] name = "parking_lot" @@ -1093,27 +1176,27 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pkg-config" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "potential_utf" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ "zerovec", ] @@ -1137,19 +1220,29 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.103" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.42" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -1161,13 +1254,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "rand" -version = "0.9.3" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha", - "rand_core", + "rand_core 0.9.5", +] + +[[package]] +name = "rand" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +dependencies = [ + "chacha20", + "getrandom 0.4.2", + "rand_core 0.10.1", ] [[package]] @@ -1177,18 +1287,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.9.5", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "redox_syscall" version = "0.5.18" @@ -1204,16 +1320,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "regex" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -1223,9 +1339,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -1234,15 +1350,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "rustc-demangle" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" @@ -1273,15 +1389,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1290,12 +1406,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - [[package]] name = "scopeguard" version = "1.2.0" @@ -1310,9 +1420,9 @@ checksum = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2" [[package]] name = "semver" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" dependencies = [ "serde", "serde_core", @@ -1350,15 +1460,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -1378,9 +1488,15 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" @@ -1419,9 +1535,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.110" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -1441,15 +1557,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.23.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1472,11 +1588,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -1492,9 +1608,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -1512,9 +1628,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", @@ -1522,9 +1638,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-core", @@ -1532,9 +1648,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -1552,9 +1668,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.20" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "sharded-slab", "thread_local", @@ -1563,15 +1679,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "ui_test" -version = "0.30.3" +version = "0.30.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44eb652e1a8799d4e47f20851370e86247cbc5270ce677ab1e9409a6d45a9649" +checksum = "980133b75aa9a95dc94feaf629d92d22c1172186f1fa1266b91f5b91414cf9a5" dependencies = [ "annotate-snippets", "anyhow", @@ -1595,9 +1711,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-width" @@ -1606,10 +1722,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] -name = "url" -version = "2.5.7" +name = "unicode-xid" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "unit-prefix" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", @@ -1625,11 +1753,11 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.18.1" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.2", "js-sys", "wasm-bindgen", ] @@ -1646,12 +1774,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -1660,18 +1782,27 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.1+wasi-0.2.4" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" dependencies = [ "cfg-if", "once_cell", @@ -1682,9 +1813,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1692,9 +1823,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" dependencies = [ "bumpalo", "proc-macro2", @@ -1705,13 +1836,47 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "web-time" version = "1.1.0" @@ -1728,7 +1893,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -1839,15 +2004,6 @@ dependencies = [ "windows-link 0.1.3", ] -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - [[package]] name = "windows-sys" version = "0.61.2" @@ -1857,22 +2013,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - [[package]] name = "windows-threading" version = "0.1.0" @@ -1883,70 +2023,110 @@ dependencies = [ ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] [[package]] name = "wit-bindgen" -version = "0.46.0" +version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "writeable" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "yoke" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -1955,9 +2135,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", @@ -1967,18 +2147,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" dependencies = [ "proc-macro2", "quote", @@ -1987,18 +2167,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", @@ -2008,9 +2188,9 @@ dependencies = [ [[package]] name = "zerotrie" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", "yoke", @@ -2019,9 +2199,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", @@ -2030,11 +2210,17 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", "syn", ] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/src/tools/miri/Cargo.toml b/src/tools/miri/Cargo.toml index 047899089195..7d7770eddcbe 100644 --- a/src/tools/miri/Cargo.toml +++ b/src/tools/miri/Cargo.toml @@ -17,10 +17,10 @@ test = false # we have no unit tests doctest = false # and no doc tests [dependencies] -getrandom = { version = "0.3", features = ["std"] } -rand = "0.9" +getrandom = { version = "0.4", features = ["std"] } +rand = "0.10" smallvec = { version = "1.7", features = ["drain_filter"] } -aes = { version = "0.8.3", features = ["hazmat"] } +aes = { version = "0.9", features = ["hazmat"] } measureme = "12" chrono = { version = "0.4.38", default-features = false } chrono-tz = "0.10" diff --git a/src/tools/miri/README.md b/src/tools/miri/README.md index 4019585b710a..3d0716a082d4 100644 --- a/src/tools/miri/README.md +++ b/src/tools/miri/README.md @@ -32,12 +32,13 @@ Miri has already discovered many [real-world bugs](#bugs-found-by-miri). If you found a bug with Miri, we'd appreciate if you tell us and we'll add it to the list! -By default, Miri ensures a fully deterministic execution and isolates the +By default, Miri ensures a fully deterministic execution by isolating the program from the host system. Some APIs that would usually access the host, such as gathering entropy for random number generators, environment variables, and clocks, are replaced by deterministic "fake" implementations. Set `MIRIFLAGS="-Zmiri-disable-isolation"` to access the real system APIs instead. -(In particular, the "fake" system RNG APIs make Miri **not suited for +(Note that this isolation is *not* a proper sandbox, and gaps in the isolation are considered +normal bugs, not security bugs. Also, the "fake" system RNG APIs make Miri **not suited for cryptographic use**! Do not generate keys using Miri.) All that said, be aware that Miri does **not catch every violation of the Rust specification** in diff --git a/src/tools/miri/bench-cargo-miri/backtraces/Cargo.lock b/src/tools/miri/bench-cargo-miri/backtraces/Cargo.lock index 86b5e9872e9d..f27cba11df62 100644 --- a/src/tools/miri/bench-cargo-miri/backtraces/Cargo.lock +++ b/src/tools/miri/bench-cargo-miri/backtraces/Cargo.lock @@ -4,24 +4,24 @@ version = 4 [[package]] name = "addr2line" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ "gimli", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", "cfg-if", @@ -29,7 +29,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-link", ] [[package]] @@ -41,112 +41,54 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "gimli" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "libc" -version = "0.2.168" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "object" -version = "0.36.5" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] -name = "windows-targets" -version = "0.52.6" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" diff --git a/src/tools/miri/bench-cargo-miri/serde1/Cargo.lock b/src/tools/miri/bench-cargo-miri/serde1/Cargo.lock index db64ee9a16df..7c257799bad1 100644 --- a/src/tools/miri/bench-cargo-miri/serde1/Cargo.lock +++ b/src/tools/miri/bench-cargo-miri/serde1/Cargo.lock @@ -12,54 +12,58 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] -name = "ryu" -version = "1.0.18" +name = "serde" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] [[package]] -name = "serde" -version = "1.0.216" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -68,21 +72,22 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "syn" -version = "2.0.90" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -91,6 +96,12 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/src/tools/miri/bench-cargo-miri/serde2/Cargo.lock b/src/tools/miri/bench-cargo-miri/serde2/Cargo.lock index db64ee9a16df..7c257799bad1 100644 --- a/src/tools/miri/bench-cargo-miri/serde2/Cargo.lock +++ b/src/tools/miri/bench-cargo-miri/serde2/Cargo.lock @@ -12,54 +12,58 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] -name = "ryu" -version = "1.0.18" +name = "serde" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] [[package]] -name = "serde" -version = "1.0.216" +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -68,21 +72,22 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "syn" -version = "2.0.90" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -91,6 +96,12 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/src/tools/miri/cargo-miri/Cargo.lock b/src/tools/miri/cargo-miri/Cargo.lock index f9f6e110c43c..288ef8a6eb7f 100644 --- a/src/tools/miri/cargo-miri/Cargo.lock +++ b/src/tools/miri/cargo-miri/Cargo.lock @@ -4,21 +4,21 @@ version = 4 [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "camino" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ "serde_core", ] @@ -38,11 +38,12 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122ec45a44b270afd1402f351b782c676b173e3c3fb28d86ff7ebfb4d86a4ee4" +checksum = "dd0061da739915fae12ea00e16397555ed4371a6bb285431aab930f61b0aa4ba" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -104,15 +105,21 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "libc", @@ -121,71 +128,106 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.4" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", "libc", "r-efi", "wasip2", + "wasip3", ] [[package]] name = "hashbrown" -version = "0.16.0" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "indexmap" -version = "2.12.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.17.1", + "serde", + "serde_core", ] [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.177" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags", "libc", ] [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "option-ext" @@ -194,28 +236,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] -name = "proc-macro2" -version = "1.0.103" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.42" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.3.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "redox_users" @@ -223,7 +275,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", "thiserror", ] @@ -258,9 +310,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", @@ -269,12 +321,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - [[package]] name = "same-file" version = "1.0.6" @@ -286,9 +332,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" dependencies = [ "serde", "serde_core", @@ -326,31 +372,31 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] name = "serde_spanned" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876ac351060d4f882bb1032b6369eb0aef79ad9df1ea8bc404874d8cc3d0cd98" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" dependencies = [ "serde_core", ] [[package]] name = "syn" -version = "2.0.110" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -359,12 +405,12 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.23.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", "rustix", "windows-sys", @@ -372,18 +418,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -392,9 +438,9 @@ dependencies = [ [[package]] name = "toml" -version = "1.1.0+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8195ca05e4eb728f4ba94f3e3291661320af739c4e43779cbdfae82ab239fcc" +checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" dependencies = [ "indexmap", "serde_core", @@ -407,33 +453,39 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "1.1.0+spec-1.1.0" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97251a7c317e03ad83774a8752a7e81fb6067740609f75ea2b585b569a59198f" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" dependencies = [ "serde_core", ] [[package]] name = "toml_parser" -version = "1.1.0+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2334f11ee363607eb04df9b8fc8a13ca1715a72ba8662a26ac285c98aabb4011" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.1.0+spec-1.1.0" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d282ade6016312faf3e41e57ebbba0c073e4056dab1232ab1cb624199648f8ed" +checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "walkdir" @@ -453,11 +505,54 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.1+wasi-0.2.4" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", ] [[package]] @@ -486,12 +581,106 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90e88e4667264a994d34e6d1ab2d26d398dcdca8b7f52bec8668957517fc7d8" +checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" [[package]] name = "wit-bindgen" -version = "0.46.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/src/tools/miri/ci/ci.sh b/src/tools/miri/ci/ci.sh index 9bacbbcf4597..a87c6faa3268 100755 --- a/src/tools/miri/ci/ci.sh +++ b/src/tools/miri/ci/ci.sh @@ -63,10 +63,9 @@ function run_tests { ## ui test suite if [ -n "${GC_STRESS-}" ]; then - time MIRIFLAGS="${MIRIFLAGS-} -Zmiri-provenance-gc=1" ./miri test $TARGET_FLAG - else - time ./miri test $FEATURES $TARGET_FLAG + MIRIFLAGS_EXTRA="-Zmiri-provenance-gc=1" fi + time MIRIFLAGS="${MIRIFLAGS-} ${MIRIFLAGS_EXTRA-}" ./miri test $FEATURES $TARGET_FLAG ## advanced tests if [ -n "${MIR_OPT-}" ]; then @@ -169,6 +168,7 @@ case $HOST_TARGET in # Not officially supported tier 2 MANY_SEEDS=16 TEST_TARGET=x86_64-unknown-freebsd run_tests MANY_SEEDS=16 TEST_TARGET=i686-unknown-freebsd run_tests + MANY_SEEDS=16 TEST_TARGET=x86_64-unknown-illumos run_tests ;; armv7-unknown-linux-gnueabihf) # Host @@ -177,6 +177,7 @@ case $HOST_TARGET in TEST_TARGET=tests/x86_64-unknown-kernel.json MIRI_NO_STD=1 MIRIFLAGS="-Zunstable-options" run_tests_minimal no_std # Not officially supported tier 2 MANY_SEEDS=16 TEST_TARGET=x86_64-pc-solaris run_tests + MANY_SEEDS=16 TEST_TARGET=mips-unknown-linux-gnu run_tests # a 32bit big-endian target, and also a target without 64bit atomics ;; aarch64-apple-darwin) # Host @@ -184,9 +185,6 @@ case $HOST_TARGET in # Extra tier 1 MANY_SEEDS=64 TEST_TARGET=i686-pc-windows-gnu run_tests MANY_SEEDS=64 TEST_TARGET=x86_64-pc-windows-msvc CARGO_MIRI_ENV=1 run_tests - # Not officially supported tier 2 - MANY_SEEDS=16 TEST_TARGET=mips-unknown-linux-gnu run_tests # a 32bit big-endian target, and also a target without 64bit atomics - MANY_SEEDS=16 TEST_TARGET=x86_64-unknown-illumos run_tests ;; i686-pc-windows-msvc) # Host diff --git a/src/tools/miri/miri-script/Cargo.lock b/src/tools/miri/miri-script/Cargo.lock index 637137779c4a..d946d77987cf 100644 --- a/src/tools/miri/miri-script/Cargo.lock +++ b/src/tools/miri/miri-script/Cargo.lock @@ -4,9 +4,9 @@ version = 4 [[package]] name = "anstream" -version = "0.6.19" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -19,62 +19,62 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "clap" -version = "4.5.41" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -94,9 +94,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.41" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck", "proc-macro2", @@ -106,15 +106,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "colorchoice" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "dunce" @@ -129,33 +129,61 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] -name = "errno" -version = "0.3.13" +name = "equivalent" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys", ] [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "getrandom" -version = "0.3.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi", + "wasip2", + "wasip3", ] +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + [[package]] name = "heck" version = "0.5.0" @@ -163,10 +191,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] -name = "is_terminal_polyfill" -version = "1.70.1" +name = "id-arena" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "indexmap" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", + "serde", + "serde_core", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -179,27 +225,39 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "miri-script" @@ -222,15 +280,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "once_cell_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "path_macro" @@ -239,28 +297,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6e819bbd49d5939f682638fa54826bf1650abddcd65d000923de8ad63cc7d15" [[package]] -name = "proc-macro2" -version = "1.0.95" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.3.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rustc_version" @@ -273,23 +341,17 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.60.2", + "windows-sys", ] -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - [[package]] name = "same-file" version = "1.0.6" @@ -301,24 +363,33 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -327,21 +398,22 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "shell-words" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77" [[package]] name = "strsim" @@ -351,9 +423,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.104" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -362,22 +434,28 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.20.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", "getrandom", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "utf8parse" @@ -396,176 +474,173 @@ dependencies = [ ] [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen 0.46.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", ] [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] -name = "windows-sys" -version = "0.60.2" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ - "windows-targets 0.53.2", + "wit-bindgen-rust-macro", ] [[package]] -name = "windows-targets" -version = "0.52.6" +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "anyhow", + "heck", + "wit-parser", ] [[package]] -name = "windows-targets" -version = "0.53.2" +name = "wit-bindgen-rust" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" +name = "wit-bindgen-rust-macro" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", ] [[package]] @@ -582,3 +657,9 @@ name = "xshell-macros" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/src/tools/miri/src/alloc_addresses/address_generator.rs b/src/tools/miri/src/alloc_addresses/address_generator.rs index 3764f5dcb824..f7214504a899 100644 --- a/src/tools/miri/src/alloc_addresses/address_generator.rs +++ b/src/tools/miri/src/alloc_addresses/address_generator.rs @@ -1,6 +1,6 @@ use std::ops::Range; -use rand::Rng; +use rand::{Rng, RngExt}; use rustc_abi::{Align, Size}; use rustc_const_eval::interpret::{InterpResult, interp_ok}; use rustc_middle::{err_exhaust, throw_exhaust}; diff --git a/src/tools/miri/src/alloc_addresses/reuse_pool.rs b/src/tools/miri/src/alloc_addresses/reuse_pool.rs index b6cc017f7723..2d824e2b2bab 100644 --- a/src/tools/miri/src/alloc_addresses/reuse_pool.rs +++ b/src/tools/miri/src/alloc_addresses/reuse_pool.rs @@ -1,6 +1,6 @@ //! Manages a pool of addresses that can be reused. -use rand::Rng; +use rand::{Rng, RngExt}; use rustc_abi::{Align, Size}; use crate::concurrency::VClock; diff --git a/src/tools/miri/src/concurrency/data_race.rs b/src/tools/miri/src/concurrency/data_race.rs index 06a1510feabf..569c236555ce 100644 --- a/src/tools/miri/src/concurrency/data_race.rs +++ b/src/tools/miri/src/concurrency/data_race.rs @@ -44,6 +44,7 @@ use std::fmt::Debug; use std::mem; +use rand::RngExt; use rustc_abi::{Align, HasDataLayout, Size}; use rustc_ast::Mutability; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -888,7 +889,6 @@ fn atomic_compare_exchange_scalar( fail: AtomicReadOrd, can_fail_spuriously: bool, ) -> InterpResult<'tcx, Immediate> { - use rand::Rng as _; let this = self.eval_context_mut(); this.atomic_access_check(place, AtomicAccessType::Rmw)?; diff --git a/src/tools/miri/src/concurrency/thread.rs b/src/tools/miri/src/concurrency/thread.rs index 3c2c2c025214..3d4210276cee 100644 --- a/src/tools/miri/src/concurrency/thread.rs +++ b/src/tools/miri/src/concurrency/thread.rs @@ -5,6 +5,7 @@ use std::time::{Duration, SystemTime}; use std::{io, mem}; +use rand::RngExt; use rand::seq::IteratorRandom; use rustc_abi::ExternAbi; use rustc_const_eval::CTRL_C_RECEIVED; @@ -1333,8 +1334,6 @@ fn yield_active_thread(&mut self) { #[inline] fn maybe_preempt_active_thread(&mut self) { - use rand::Rng as _; - let this = self.eval_context_mut(); if !this.machine.threads.fixed_scheduling && this.machine.rng.get_mut().random_bool(this.machine.preemption_rate) diff --git a/src/tools/miri/src/helpers.rs b/src/tools/miri/src/helpers.rs index de94f4a27a20..349cb2d66482 100644 --- a/src/tools/miri/src/helpers.rs +++ b/src/tools/miri/src/helpers.rs @@ -3,7 +3,7 @@ use std::time::Duration; use std::{cmp, iter}; -use rand::RngCore; +use rand::Rng; use rustc_abi::{Align, ExternAbi, FieldIdx, FieldsShape, Size, Variants}; use rustc_data_structures::fx::{FxBuildHasher, FxHashSet}; use rustc_hir::def::{DefKind, Namespace}; diff --git a/src/tools/miri/src/intrinsics/mod.rs b/src/tools/miri/src/intrinsics/mod.rs index ae7ec1fdcce5..a8eed1b8e0c4 100644 --- a/src/tools/miri/src/intrinsics/mod.rs +++ b/src/tools/miri/src/intrinsics/mod.rs @@ -7,7 +7,7 @@ pub use self::atomic::AtomicRmwOp; #[rustfmt::skip] // prevent `use` reordering -use rand::Rng; +use rand::RngExt; use rustc_abi::Size; use rustc_middle::{mir, ty}; use rustc_span::Symbol; diff --git a/src/tools/miri/src/machine.rs b/src/tools/miri/src/machine.rs index 21f505719270..d0bde4b1f052 100644 --- a/src/tools/miri/src/machine.rs +++ b/src/tools/miri/src/machine.rs @@ -9,7 +9,7 @@ use std::{fmt, process}; use rand::rngs::StdRng; -use rand::{Rng, SeedableRng}; +use rand::{RngExt, SeedableRng}; use rustc_abi::{Align, ExternAbi, Size}; use rustc_apfloat::{Float, FloatConvert}; use rustc_ast::expand::allocator::{self, SpecialAllocatorMethod}; @@ -17,7 +17,7 @@ use rustc_data_structures::fx::{FxHashMap, FxHashSet}; #[allow(unused)] use rustc_data_structures::static_assert_size; -use rustc_hir::attrs::InlineAttr; +use rustc_hir::attrs::{InlineAttr, Linkage}; use rustc_log::tracing; use rustc_middle::middle::codegen_fn_attrs::TargetFeatureKind; use rustc_middle::mir; @@ -573,6 +573,8 @@ pub struct MiriMachine<'tcx> { /// Mapping extern static names to their pointer. pub(crate) extern_statics: FxHashMap, + /// A pointer to the allocation we provide for non-existent weak symbols. + pub(crate) missing_weak_symbol: Option, /// The random number generator used for resolving non-determinism. /// Needs to be queried by ptr_to_int, hence needs interior mutability. @@ -742,6 +744,7 @@ pub(crate) fn new( .expect("Couldn't create poll instance"); let alloc_addresses = RefCell::new(alloc_addresses::GlobalStateInner::new(config, stack_addr, tcx)); + MiriMachine { tcx, borrow_tracker, @@ -770,6 +773,7 @@ pub(crate) fn new( backtrace_style: config.backtrace_style, user_relevant_crates, extern_statics: FxHashMap::default(), + missing_weak_symbol: None, rng: RefCell::new(rng), allocator: (!config.native_lib.is_empty()) .then(|| Rc::new(RefCell::new(crate::alloc::isolated_alloc::IsolatedAlloc::new()))), @@ -1014,6 +1018,7 @@ fn visit_provenance(&self, visit: &mut VisitWith<'_>) { argv, cmd_line, extern_statics, + missing_weak_symbol, dirs, borrow_tracker, data_race, @@ -1077,6 +1082,7 @@ fn visit_provenance(&self, visit: &mut VisitWith<'_>) { argc.visit_provenance(visit); argv.visit_provenance(visit); cmd_line.visit_provenance(visit); + missing_weak_symbol.visit_provenance(visit); for ptr in extern_statics.values() { ptr.visit_provenance(visit); } @@ -1376,6 +1382,10 @@ fn extern_static_pointer( def_id: DefId, ) -> InterpResult<'tcx, StrictPointer> { let link_name = Symbol::intern(ecx.tcx.symbol_name(Instance::mono(*ecx.tcx, def_id)).name); + let def_ty = ecx.tcx.type_of(def_id).instantiate_identity().skip_norm_wip(); + let extern_decl_layout = + ecx.tcx.layout_of(ecx.typing_env().as_query_input(def_ty)).unwrap(); + if let Some(&ptr) = ecx.machine.extern_statics.get(&link_name) { // Various parts of the engine rely on `get_alloc_info` for size and alignment // information. That uses the type information of this static. @@ -1384,9 +1394,6 @@ fn extern_static_pointer( panic!("extern_statics cannot contain wildcards") }; let info = ecx.get_alloc_info(alloc_id); - let def_ty = ecx.tcx.type_of(def_id).instantiate_identity().skip_norm_wip(); - let extern_decl_layout = - ecx.tcx.layout_of(ecx.typing_env().as_query_input(def_ty)).unwrap(); if extern_decl_layout.size != info.size || extern_decl_layout.align.abi != info.align { throw_unsup_format!( "extern static `{link_name}` has been declared as `{krate}::{name}` \ @@ -1402,8 +1409,26 @@ fn extern_static_pointer( ) } interp_ok(ptr) + } else if ecx.tcx.codegen_fn_attrs(def_id).import_linkage == Some(Linkage::ExternalWeak) { + // Symbols with weak linkage default to null if they are not defined. However we can't + // create new allocations here. On the plus side we know rustc rejects non-ptr-sized + // weak statics so we can just use a single global "null" allocation for all of them. + // The memory we are assigning this address to is anyway somewhat "fake", it's an + // indirection introduced by how Rust represents external symbols with linkage (see + // ). So we can just specify that such + // memory does not have unique addresses, despite being technically a `static`. + assert_eq!( + extern_decl_layout.size, + ecx.tcx.data_layout.pointer_size(), + "non-pointer-sized weak static" + ); + interp_ok( + ecx.machine + .missing_weak_symbol + .expect("`missing_weak_symbol` should have been initialized"), + ) } else { - throw_unsup_format!("extern static `{link_name}` is not supported by Miri",) + throw_unsup_format!("extern static `{link_name}` is not supported by Miri") } } diff --git a/src/tools/miri/src/math.rs b/src/tools/miri/src/math.rs index a46d849a18ea..f67831839b71 100644 --- a/src/tools/miri/src/math.rs +++ b/src/tools/miri/src/math.rs @@ -1,6 +1,6 @@ use std::ops::Neg; -use rand::Rng as _; +use rand::RngExt; use rustc_apfloat::ieee::{DoubleS, HalfS, IeeeFloat, Semantics, SingleS}; use rustc_apfloat::{Float, FloatConvert}; use rustc_middle::ty::{self, FloatTy, ScalarInt}; diff --git a/src/tools/miri/src/operator.rs b/src/tools/miri/src/operator.rs index 116f45f18dda..094da2718854 100644 --- a/src/tools/miri/src/operator.rs +++ b/src/tools/miri/src/operator.rs @@ -1,6 +1,6 @@ use std::iter; -use rand::Rng; +use rand::RngExt; use rand::seq::IteratorRandom; use rustc_abi::Size; use rustc_apfloat::{Float, FloatConvert}; diff --git a/src/tools/miri/src/shims/extern_static.rs b/src/tools/miri/src/shims/extern_static.rs index 6c7f3470600b..c42b89e41b7e 100644 --- a/src/tools/miri/src/shims/extern_static.rs +++ b/src/tools/miri/src/shims/extern_static.rs @@ -16,18 +16,6 @@ fn alloc_extern_static( interp_ok(()) } - /// Zero-initialized pointer-sized extern statics are pretty common. - /// Most of them are for weak symbols, which we all set to null (indicating that the - /// symbol is not supported, and triggering fallback code which ends up calling - /// some other shim that we do support). - fn null_ptr_extern_statics(ecx: &mut MiriInterpCx<'tcx>, names: &[&str]) -> InterpResult<'tcx> { - for name in names { - let val = ImmTy::from_int(0, ecx.machine.layouts.usize); - Self::alloc_extern_static(ecx, name, val)?; - } - interp_ok(()) - } - /// Extern statics that are initialized with function pointers to the symbols of the same name. fn weak_symbol_extern_statics( ecx: &mut MiriInterpCx<'tcx>, @@ -53,17 +41,9 @@ pub fn init_extern_statics(ecx: &mut MiriInterpCx<'tcx>) -> InterpResult<'tcx> { match &ecx.tcx.sess.target.os { Os::Linux => { - Self::null_ptr_extern_statics( - ecx, - &["__cxa_thread_atexit_impl", "__clock_gettime64", "__clock_nanosleep_time64"], - )?; - Self::weak_symbol_extern_statics(ecx, &["getrandom", "gettid", "statx"])?; - } - Os::FreeBsd => { - Self::null_ptr_extern_statics(ecx, &["__cxa_thread_atexit_impl"])?; + Self::weak_symbol_extern_statics(ecx, &["getrandom", "gettid", "statx", "strlen"])?; } Os::Android => { - Self::null_ptr_extern_statics(ecx, &["bsd_signal"])?; Self::weak_symbol_extern_statics(ecx, &["signal", "getrandom", "gettid"])?; } Os::Windows => { @@ -75,8 +55,14 @@ pub fn init_extern_statics(ecx: &mut MiriInterpCx<'tcx>) -> InterpResult<'tcx> { Os::Illumos | Os::Solaris => { Self::weak_symbol_extern_statics(ecx, &["pthread_setname_np"])?; } - _ => {} // No "extern statics" supported on this target + _ => {} // No "extern statics" supported on this target. } + + // Also initialize `missing_weak_symbol`. + let place = ecx.allocate(ecx.machine.layouts.usize, MiriMemoryKind::ExternStatic.into())?; + ecx.write_null(&place)?; + ecx.machine.missing_weak_symbol = Some(place.ptr().into_pointer_or_addr().unwrap()); + interp_ok(()) } } diff --git a/src/tools/miri/src/shims/unix/fd.rs b/src/tools/miri/src/shims/unix/fd.rs index 15b13d3ba57a..4a1dc1034164 100644 --- a/src/tools/miri/src/shims/unix/fd.rs +++ b/src/tools/miri/src/shims/unix/fd.rs @@ -4,7 +4,7 @@ use std::io; use std::io::ErrorKind; -use rand::Rng; +use rand::RngExt; use rustc_abi::Size; use rustc_target::spec::Os; diff --git a/src/tools/miri/src/shims/unix/foreign_items.rs b/src/tools/miri/src/shims/unix/foreign_items.rs index 748987360be9..2ed708975c7d 100644 --- a/src/tools/miri/src/shims/unix/foreign_items.rs +++ b/src/tools/miri/src/shims/unix/foreign_items.rs @@ -19,8 +19,8 @@ pub fn is_dyn_sym(name: &str, target_os: &Os) -> bool { match name { - // Used for tests. - "isatty" => true, + // Used for (std and Miri) tests. + "strlen" => true, // `signal` is set up as a weak symbol in `init_extern_statics` (on Android) so we might as // well allow it in `dlsym`. "signal" => true, diff --git a/src/tools/miri/src/shims/unix/fs.rs b/src/tools/miri/src/shims/unix/fs.rs index 419157aac6d4..0caae04d9364 100644 --- a/src/tools/miri/src/shims/unix/fs.rs +++ b/src/tools/miri/src/shims/unix/fs.rs @@ -871,7 +871,7 @@ fn chmod(&mut self, path_op: &OpTy<'tcx>, mode_op: &OpTy<'tcx>) -> InterpResult< let permissions = this.host_permissions_from_mode(mode.try_into().unwrap())?; if let Err(err) = fs::set_permissions(path, permissions) { - return this.set_last_error_and_return_i32(IoError::HostError(err)); + return this.set_last_error_and_return_i32(err); } interp_ok(Scalar::from_i32(0)) @@ -899,7 +899,7 @@ fn fchmod(&mut self, fd_op: &OpTy<'tcx>, mode_op: &OpTy<'tcx>) -> InterpResult<' let permissions = this.host_permissions_from_mode(mode.try_into().unwrap())?; if let Err(err) = file.file.set_permissions(permissions) { - return this.set_last_error_and_return_i32(IoError::HostError(err)); + return this.set_last_error_and_return_i32(err); } interp_ok(Scalar::from_i32(0)) @@ -1641,7 +1641,8 @@ fn mkstemp(&mut self, template_op: &OpTy<'tcx>) -> InterpResult<'tcx, Scalar> { let rng = this.machine.rng.get_mut(); // Generate a random unique suffix. - let unique_suffix = SUBSTITUTIONS.choose_multiple(rng, 6).collect::(); + let unique_suffix = + (0..6).map(|_| SUBSTITUTIONS.choose(rng).unwrap()).collect::(); // Replace the template string with the random string. template_bytes[start_pos..end_pos].copy_from_slice(unique_suffix.as_bytes()); diff --git a/src/tools/miri/src/shims/unix/macos/foreign_items.rs b/src/tools/miri/src/shims/unix/macos/foreign_items.rs index a979c88def78..d8146ab7b888 100644 --- a/src/tools/miri/src/shims/unix/macos/foreign_items.rs +++ b/src/tools/miri/src/shims/unix/macos/foreign_items.rs @@ -328,6 +328,16 @@ fn emulate_foreign_item_inner( )?; } + // Incomplete shims that we "stub out" just to get pre-main initialization code to work. + // These shims are enabled only when the caller is in the standard library. + "confstr" => { + let [_key, _buf, _buflen] = + this.check_shim_sig_lenient(abi, CanonAbi::C, link_name, args)?; + // We just pretend that no configuration key exists, and return EINVAL. + this.set_last_error(LibcError("EINVAL"))?; + this.write_null(dest)?; + } + _ => return interp_ok(EmulateItemResult::NotSupported), }; diff --git a/src/tools/miri/src/shims/unix/socket.rs b/src/tools/miri/src/shims/unix/socket.rs index 853e69c23411..50904effa9fd 100644 --- a/src/tools/miri/src/shims/unix/socket.rs +++ b/src/tools/miri/src/shims/unix/socket.rs @@ -606,11 +606,8 @@ fn connect( ), } - // Mio returns a potentially unconnected stream. - // We can be ensured that the connection is established when - // [`TcpStream::take_err`] and [`TcpStream::peer_addr`] both - // don't return an error after receiving an [`Interest::WRITEABLE`] - // event on the stream. + // This begins establishing the connection, but does not block until the stream is fully connected. + // We deal with that below. match TcpStream::connect(address) { Ok(stream) => { *socket.state.borrow_mut() = SocketState::Connecting(stream); @@ -1262,22 +1259,45 @@ fn shutdown(&mut self, socket: &OpTy<'tcx>, how: &OpTy<'tcx>) -> InterpResult<'t return this.set_last_error_and_return_i32(LibcError("ENOTCONN")); }; - let shut_rd = this.eval_libc_i32("SHUT_RD"); - let shut_wr = this.eval_libc_i32("SHUT_WR"); - let shut_rdwr = this.eval_libc_i32("SHUT_RDWR"); + let is_read_shutdown = how == this.eval_libc_i32("SHUT_RD"); + let is_write_shutdown = how == this.eval_libc_i32("SHUT_WR"); + let is_read_write_shutdown = how == this.eval_libc_i32("SHUT_RDWR"); let how = match () { - _ if how == shut_rd => Shutdown::Read, - _ if how == shut_wr => Shutdown::Write, - _ if how == shut_rdwr => Shutdown::Both, + _ if is_read_shutdown => Shutdown::Read, + _ if is_write_shutdown => Shutdown::Write, + _ if is_read_write_shutdown => Shutdown::Both, // An invalid value was passed to `how`. _ => return this.set_last_error_and_return_i32(LibcError("EINVAL")), }; - match stream.shutdown(how) { - Ok(_) => interp_ok(Scalar::from_i32(0)), - Err(e) => this.set_last_error_and_return_i32(e), - } + if let Err(e) = stream.shutdown(how) { + return this.set_last_error_and_return_i32(e); + }; + + drop(state); + + // Because we map cross platform mio readiness to epoll readiness and + // the different platforms don't treat `shutdown` the same way, we set + // the readiness after a `shutdown` manually to achieve more consistent + // epoll readiness. Otherwise we do not generate enough epoll events + // on partial shutdowns on Windows hosts. + let mut readiness = socket.io_readiness.borrow_mut(); + // Closing the read end of a socket causes an EPOLLRDHUP event. + readiness.read_closed |= is_read_shutdown || is_read_write_shutdown; + // Only shutting down the write end doesn't cause an EPOLLHUP event + // and thus we won't set the `write_closed` readiness for it here. + readiness.write_closed |= is_read_write_shutdown; + // The Linux kernel also sets EPOLLIN when both ends of a socket are closed: + // + readiness.readable |= is_read_write_shutdown; + + drop(readiness); + + // Update the epoll readiness for the socket. + this.update_epoll_active_events(socket, /* force_edge */ false)?; + + interp_ok(Scalar::from_i32(0)) } } @@ -1450,8 +1470,6 @@ fn try_non_block_send( // This is a *non-blocking* write. let result = this.write_to_host(stream, length, buffer_ptr)?; - // FIXME: When the host does a short write, we should emit an epoll edge -- at least for targets for which tokio assumes no short writes: - // match result { Err(IoError::HostError(e)) if matches!(e.kind(), io::ErrorKind::NotConnected | io::ErrorKind::WouldBlock) => @@ -1464,6 +1482,45 @@ fn try_non_block_send( // would be returned on UNIX-like systems. We thus remap this error to an EWOULDBLOCK. interp_ok(Err(IoError::HostError(io::ErrorKind::WouldBlock.into()))) } + Ok(bytes_written) if bytes_written < length => { + // We had a short write. On Unix hosts using the `epoll` and `kqueue` backends, a + // short write means that the write buffer is full. We update the readiness + // accordingly, which means that next time we see "writable" we will report an epoll + // edge. Some applications (e.g. tokio) rely on this behavior; see + // . + if cfg!(any( + // epoll + target_os = "android", + target_os = "illumos", + target_os = "linux", + target_os = "redox", + // kqueue + target_os = "dragonfly", + target_os = "freebsd", + target_os = "ios", + target_os = "macos", + target_os = "netbsd", + target_os = "openbsd", + target_os = "tvos", + target_os = "visionos", + target_os = "watchos", + )) { + socket.io_readiness.borrow_mut().writable = false; + this.update_epoll_active_events(socket.clone(), /* force_edge */ false)?; + } else { + // On hosts which don't use the `epoll` or `kqueue` backends, a short write + // doesn't imply a full write buffer. However, the target we are emulating might + // guarantee this behavior. To prevent applications from being stuck on such + // targets waiting on a new readiness event, we emit a new edge which still + // contains a writable readiness. This should trick the applications into trying + // another write which would then return EWOULDBLOCK should it really be full. + // This results in an unrealistic execution but we don't have another way of + // finding out whether the write buffer is full. The "default case" of linux + // host and linux target isn't affected by this. + this.update_epoll_active_events(socket.clone(), /* force_edge */ true)?; + } + interp_ok(result) + } result => interp_ok(result), } } @@ -1536,8 +1593,6 @@ fn try_non_block_recv( length, buffer_ptr, )?; - // FIXME: When the host does a short read, we should emit an epoll edge -- at least for targets for which tokio assumes no short reads: - // match result { Err(IoError::HostError(e)) if matches!(e.kind(), io::ErrorKind::NotConnected | io::ErrorKind::WouldBlock) => @@ -1550,6 +1605,47 @@ fn try_non_block_recv( // would be returned on UNIX-like systems. We thus remap this error to an EWOULDBLOCK. interp_ok(Err(IoError::HostError(io::ErrorKind::WouldBlock.into()))) } + Ok(bytes_read) if bytes_read < length && bytes_read > 0 => { + // We had a short read. (Note that reading 0 bytes is guaranteed to indicate EOF, + // and can never happen spuriously, so we have to exclude that case.) On Unix hosts + // using the `epoll` and `kqueue` backends, a short read means that the read buffer + // is empty. We update the readiness accordingly, which means that next time we see + // "readable" we will report an epoll edge. Some applications (e.g. tokio) rely on + // this behavior; see + // + if cfg!(any( + // epoll + target_os = "android", + target_os = "illumos", + target_os = "linux", + target_os = "redox", + // kqueue + target_os = "dragonfly", + target_os = "freebsd", + target_os = "ios", + target_os = "macos", + target_os = "netbsd", + target_os = "openbsd", + target_os = "tvos", + target_os = "visionos", + target_os = "watchos", + )) { + socket.io_readiness.borrow_mut().readable = false; + this.update_epoll_active_events(socket.clone(), /* force_edge */ false)?; + } else { + // On hosts which don't use the `epoll` or `kqueue` backends, a short read + // doesn't imply an empty read buffer. However, the target we are emulating + // might guarantee this behavior. To prevent applications from being stuck on + // such targets waiting on a new readiness event, we emit a new edge which still + // contains a readable readiness. This should trick the applications into trying + // another read which would then return EWOULDBLOCK should it really be empty. + // This results in an unrealistic execution but we don't have another way of + // finding out whether the read buffer is empty. The "default case" of linux + // host and linux target isn't affected by this. + this.update_epoll_active_events(socket.clone(), /* force_edge */ true)?; + } + interp_ok(result) + } result => interp_ok(result), } } @@ -1658,24 +1754,20 @@ fn ensure_connected( return action.call(this, Err(())) } - // There was no error during connecting. We still need to ensure that - // the wakeup wasn't spurious. We do this by attempting to read the - // peer address of the socket (following the advice given by mio): + // There was no error during connecting. Mio advises also reading the peer address + // to ensure that socket is actually connected and that it wasn't a spurious wake-up: // - - match stream.peer_addr() { - Ok(_) => { /* fall-through to below */}, - Err(e) if matches!(e.kind(), io::ErrorKind::NotConnected | io::ErrorKind::InProgress) => { - // We received a spurious wakeup from the OS. This should be considered an OS bug: - // - panic!("{foreign_name}: received writable event from OS but socket is not yet connected") - }, - Err(_) => { - // For all other errors the socket is connected. Since we're not interested in the - // peer address and only want to know whether the socket is connected, we can ignore - // the error and continue. - } - } + // + // Attempting to read the peer address would introduce an edge-case where the + // write end of the socket could already be shutdown before it received a + // writable event. When we then call [`TcpStream::peer_addr`] we receive an + // error. This would need extra state for storing whether the write end was + // manually closed using `shutdown`. + // Also, tokio doesn't read the peer address and everything seems to be fine, + // so we don't do that either: + // + // In other words, we are assuming that there will be no spurious + // wakeups while establishing the connection. // The connection is established. diff --git a/src/tools/miri/src/shims/windows/env.rs b/src/tools/miri/src/shims/windows/env.rs index aabace4b7cd3..f203a6833a42 100644 --- a/src/tools/miri/src/shims/windows/env.rs +++ b/src/tools/miri/src/shims/windows/env.rs @@ -256,4 +256,25 @@ fn GetUserProfileDirectoryW( } }) } + + #[allow(non_snake_case)] + fn GetTempPathW( + &mut self, + buflen: &OpTy<'tcx>, // DWORD + buf: &OpTy<'tcx>, // LPWSTR + ) -> InterpResult<'tcx, Scalar> // returns DWORD + { + let this = self.eval_context_mut(); + this.assert_target_os(Os::Windows, "GetTempPathW"); + this.check_no_isolation("`GetTempPathW`")?; + + let buflen = this.read_scalar(buflen)?.to_u32()?; + let buf = this.read_pointer(buf)?; + + let temp_dir = env::temp_dir(); + + return interp_ok(Scalar::from_u32(windows_check_buffer_size( + this.write_path_to_wide_str(&temp_dir, buf, buflen.into())?, + ))); + } } diff --git a/src/tools/miri/src/shims/windows/foreign_items.rs b/src/tools/miri/src/shims/windows/foreign_items.rs index c378312633f2..ba26a55c2cc4 100644 --- a/src/tools/miri/src/shims/windows/foreign_items.rs +++ b/src/tools/miri/src/shims/windows/foreign_items.rs @@ -235,6 +235,17 @@ fn emulate_foreign_item_inner( let result = this.GetCurrentProcessId()?; this.write_scalar(result, dest)?; } + "GetTempPathW" => { + // FIXME: This does not have a direct test (#3179). + let [bufferlength, buffer] = this.check_shim_sig( + shim_sig!(extern "system" fn(u32, *mut _) -> u32), + link_name, + abi, + args, + )?; + let result = this.GetTempPathW(bufferlength, buffer)?; + this.write_scalar(result, dest)?; + } // File related shims "NtWriteFile" => { diff --git a/src/tools/miri/src/shims/x86/avx512.rs b/src/tools/miri/src/shims/x86/avx512.rs index ebfd3c830347..6bc9bfd9e001 100644 --- a/src/tools/miri/src/shims/x86/avx512.rs +++ b/src/tools/miri/src/shims/x86/avx512.rs @@ -120,6 +120,15 @@ fn emulate_x86_avx512_intrinsic( permute2(this, left, indices, right, dest)?; } + // Used to implement the _mm512_permutex2var_epi8 intrinsic. + "vpermi2var.qi.512" => { + this.expect_target_feature_for_intrinsic(link_name, "avx512vbmi")?; + + let [left, indices, right] = + this.check_shim_sig_lenient(abi, CanonAbi::C, link_name, args)?; + + permute2(this, left, indices, right, dest)?; + } // Used to implement the _mm512_shuffle_epi8 intrinsic. "pshuf.b.512" => { let [left, right] = diff --git a/src/tools/miri/src/shims/x86/mod.rs b/src/tools/miri/src/shims/x86/mod.rs index a1e1d5d2740c..64b5b786c6c0 100644 --- a/src/tools/miri/src/shims/x86/mod.rs +++ b/src/tools/miri/src/shims/x86/mod.rs @@ -1118,6 +1118,7 @@ fn permute<'tcx>( /// `src = if indices[i] & N == 0 { left } else { right }`. /// /// +/// fn permute2<'tcx>( ecx: &mut crate::MiriInterpCx<'tcx>, left: &OpTy<'tcx>, diff --git a/src/tools/miri/tests/deps/Cargo.lock b/src/tools/miri/tests/deps/Cargo.lock index 1c31cc3f6120..cbd2aa22b523 100644 --- a/src/tools/miri/tests/deps/Cargo.lock +++ b/src/tools/miri/tests/deps/Cargo.lock @@ -10,9 +10,9 @@ checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "bitflags" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "bumpalo" @@ -50,9 +50,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "foldhash" @@ -193,9 +193,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.16.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "heck" @@ -217,12 +217,12 @@ checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "indexmap" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "serde", "serde_core", ] @@ -235,10 +235,12 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "js-sys" -version = "0.3.94" +version = "0.3.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9" +checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" dependencies = [ + "cfg-if", + "futures-util", "once_cell", "wasm-bindgen", ] @@ -251,9 +253,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.183" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "linux-raw-sys" @@ -394,9 +396,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "semver" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" @@ -492,9 +494,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.50.0" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "bytes", "libc", @@ -508,9 +510,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", @@ -543,11 +545,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", ] [[package]] @@ -556,14 +558,14 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.117" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0" +checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" dependencies = [ "cfg-if", "once_cell", @@ -574,9 +576,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.117" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be" +checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -584,9 +586,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.117" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2" +checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" dependencies = [ "bumpalo", "proc-macro2", @@ -597,9 +599,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.117" +version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b" +checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" dependencies = [ "unicode-ident", ] @@ -684,6 +686,12 @@ dependencies = [ "wit-bindgen-rust-macro", ] +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + [[package]] name = "wit-bindgen-core" version = "0.51.0" diff --git a/src/tools/miri/tests/pass-dep/libc/libc-misc.rs b/src/tools/miri/tests/pass-dep/libc/libc-misc.rs index 36ed470b353f..1eac3d25e56a 100644 --- a/src/tools/miri/tests/pass-dep/libc/libc-misc.rs +++ b/src/tools/miri/tests/pass-dep/libc/libc-misc.rs @@ -66,12 +66,10 @@ fn test_dlsym() { let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, c"notasymbol".as_ptr()) }; assert!(addr as usize == 0); - let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, c"isatty".as_ptr()) }; + let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, c"strlen".as_ptr()) }; assert!(addr as usize != 0); - let isatty: extern "C" fn(i32) -> i32 = unsafe { transmute(addr) }; - assert_eq!(isatty(999), 0); - let errno = std::io::Error::last_os_error().raw_os_error().unwrap(); - assert_eq!(errno, libc::EBADF); + let strlen: extern "C" fn(*const libc::c_char) -> libc::size_t = unsafe { transmute(addr) }; + assert_eq!(strlen(c"1234".as_ptr()), 4); let addr = unsafe { libc::dlsym(libc::RTLD_DEFAULT, c"environ".as_ptr()) }; assert!(addr as usize != 0); diff --git a/src/tools/miri/tests/pass-dep/libc/libc-socket-no-blocking-epoll.rs b/src/tools/miri/tests/pass-dep/libc/libc-socket-no-blocking-epoll.rs index c404c942f2c8..08f1ee91b1b1 100644 --- a/src/tools/miri/tests/pass-dep/libc/libc-socket-no-blocking-epoll.rs +++ b/src/tools/miri/tests/pass-dep/libc/libc-socket-no-blocking-epoll.rs @@ -1,8 +1,5 @@ //@only-target: linux android illumos //@compile-flags: -Zmiri-disable-isolation -//@revisions: windows_host unix_host -//@[unix_host] ignore-host: windows -//@[windows_host] only-host: windows #![feature(io_error_inprogress)] @@ -23,8 +20,12 @@ fn main() { test_accept_nonblock(); test_connect_nonblock_err(); test_recv_nonblock(); - #[cfg(not(windows_hosts))] test_send_nonblock(); + test_shutdown_read_write(); + test_shutdown_read(); + test_shutdown_write(); + test_readiness_after_short_read(); + test_readiness_after_short_write(); } /// Test that connecting to a server socket works when the client @@ -253,11 +254,6 @@ fn test_recv_nonblock() { /// Once the buffer is filled we wait for the epoll WRITABLE /// readiness instead of busy waiting until we can /// write again. -/// -/// **Note**: This can only be tested on UNIX hosts because -/// the socket write buffers dynamically grow for localhost -/// connections on Windows. -#[cfg(not(windows_hosts))] fn test_send_nonblock() { let (server_sockfd, addr) = net::make_listener_ipv4().unwrap(); let client_sockfd = @@ -287,15 +283,22 @@ fn test_send_nonblock() { let fill_buf = [1u8; 32_000]; let mut total_written = 0usize; loop { - // Ensure the socket is still writable. - assert_eq!(current_epoll_readiness::<8>(client_sockfd, EPOLLOUT | EPOLLET), EPOLLOUT); - let result = unsafe { errno_result(libc::send(client_sockfd, fill_buf.as_ptr().cast(), fill_buf.len(), 0)) }; match result { - Ok(written) => total_written += written as usize, + Ok(written) => { + total_written += written as usize; + if written as usize == fill_buf.len() { + // When we didn't have a short write we should still be able to write more. + // Ensure the socket is still writable. + assert_eq!( + current_epoll_readiness::<8>(client_sockfd, EPOLLOUT | EPOLLET), + EPOLLOUT + ); + } + } Err(err) if err.kind() == ErrorKind::WouldBlock => break, Err(err) => panic!("unexpected error whilst filling up buffer: {err}"), } @@ -340,3 +343,246 @@ fn test_send_nonblock() { reader_thread.join().unwrap(); } + +/// Test that the EPOLLHUP and EPOLLRDHUP readiness are set when both +/// the read and write ends of a socket are closed. +fn test_shutdown_read_write() { + let (server_sockfd, addr) = net::make_listener_ipv4().unwrap(); + let client_sockfd = + unsafe { errno_result(libc::socket(libc::AF_INET, libc::SOCK_STREAM, 0)).unwrap() }; + let epfd = unsafe { libc::epoll_create1(0) }; + + // Spawn the server thread. + let server_thread = thread::spawn(move || net::accept_ipv4(server_sockfd).unwrap()); + + net::connect_ipv4(client_sockfd, addr).unwrap(); + + epoll_ctl_add(epfd, client_sockfd, EPOLLET | EPOLLHUP | EPOLLRDHUP | EPOLLIN).unwrap(); + + // Close the read and write end of the socket. + unsafe { libc::shutdown(client_sockfd, libc::SHUT_RDWR) }; + + // Ensure that the "read end closed", "write end closed", and "readable" readiness are set. + check_epoll_wait::<8>( + epfd, + &[Ev { events: EPOLLRDHUP | EPOLLHUP | EPOLLIN, data: client_sockfd }], + -1, + ); + + server_thread.join().unwrap(); +} + +/// Test that the EPOLLRDHUP readiness is set when the read +/// end of a socket is closed. +fn test_shutdown_read() { + let (server_sockfd, addr) = net::make_listener_ipv4().unwrap(); + let client_sockfd = + unsafe { errno_result(libc::socket(libc::AF_INET, libc::SOCK_STREAM, 0)).unwrap() }; + let epfd = unsafe { libc::epoll_create1(0) }; + + // Spawn the server thread. + let server_thread = thread::spawn(move || net::accept_ipv4(server_sockfd).unwrap()); + + net::connect_ipv4(client_sockfd, addr).unwrap(); + + epoll_ctl_add(epfd, client_sockfd, EPOLLET | EPOLLHUP | EPOLLRDHUP).unwrap(); + + // Close the read end of the socket. + unsafe { libc::shutdown(client_sockfd, libc::SHUT_RD) }; + + // Ensure that the "read end closed" readiness is set. + check_epoll_wait::<8>(epfd, &[Ev { events: EPOLLRDHUP, data: client_sockfd }], -1); + + server_thread.join().unwrap(); +} + +/// Test that the EPOLLRDHUP readiness is set when the write +/// end of the peer socket is closed. +fn test_shutdown_write() { + let (server_sockfd, addr) = net::make_listener_ipv4().unwrap(); + let client_sockfd = + unsafe { errno_result(libc::socket(libc::AF_INET, libc::SOCK_STREAM, 0)).unwrap() }; + let epfd = unsafe { libc::epoll_create1(0) }; + + // Spawn the server thread. + let server_thread = thread::spawn(move || { + let (peerfd, _) = net::accept_ipv4(server_sockfd).unwrap(); + // Close the write end of the peer socket. + unsafe { libc::shutdown(peerfd, libc::SHUT_WR) }; + }); + + net::connect_ipv4(client_sockfd, addr).unwrap(); + + epoll_ctl_add(epfd, client_sockfd, EPOLLET | EPOLLHUP | EPOLLRDHUP).unwrap(); + + // Ensure that the "read end closed" readiness is set when + // the write end of the peer is closed. + check_epoll_wait::<8>(epfd, &[Ev { events: EPOLLRDHUP, data: client_sockfd }], -1); + + server_thread.join().unwrap(); +} + +/// Test that Miri correctly removes the readable readiness or emits a new edge after a short read. +fn test_readiness_after_short_read() { + let (server_sockfd, addr) = net::make_listener_ipv4().unwrap(); + let client_sockfd = + unsafe { errno_result(libc::socket(libc::AF_INET, libc::SOCK_STREAM, 0)).unwrap() }; + let epfd = errno_result(unsafe { libc::epoll_create1(0) }).unwrap(); + + // Spawn the server thread. + let server_thread = thread::spawn(move || { + let (peerfd, _) = net::accept_ipv4(server_sockfd).unwrap(); + + // Write `TEST_BYTES` into the stream. + libc_utils::write_all(peerfd, TEST_BYTES).unwrap(); + + // Return the peer socket file descriptor such that we can use + // it after joining the server thread. + peerfd + }); + + net::connect_ipv4(client_sockfd, addr).unwrap(); + + unsafe { + // Change client socket to be non-blocking. + errno_check(libc::fcntl(client_sockfd, libc::F_SETFL, libc::O_NONBLOCK)); + } + + // Add client socket with readable interest to epoll. + epoll_ctl_add(epfd, client_sockfd, EPOLLET | EPOLLIN).unwrap(); + + // Wait until the socket becomes readable. + check_epoll_wait::<8>(epfd, &[Ev { events: EPOLLIN, data: client_sockfd }], -1); + + let mut buffer = [0u8; 1024]; + + // We want to read in chunks of 16 bytes. To ensure we get a short read, `TEST_BYTES.len()` + // must not be dividable by 16. + assert!(TEST_BYTES.len() % 16 != 0); + + let mut total_bytes_read = 0; + // Read everything from the socket until we get a short read. + // We don't want to provide `TEST_BYTES.len()` as `count` because then we won't trigger + // a short read. + loop { + let bytes_read = unsafe { + errno_result(libc::read( + client_sockfd, + buffer.as_mut_ptr().byte_add(total_bytes_read).cast(), + // Read a chunk of 16 bytes. + 16, + )) + .unwrap() + }; + + total_bytes_read += bytes_read as usize; + if bytes_read < 16 { + // We had a short read; we thus assume the read buffer is empty. + break; + } + } + assert_eq!(total_bytes_read, TEST_BYTES.len()); + + // We had a short read because `buffer` is bigger than `TEST_BYTES`. + + // The read buffer is now empty. We thus write again `TEST_BYTES` into the peer socket. + let peerfd = server_thread.join().unwrap(); + libc_utils::write_all(peerfd, TEST_BYTES).unwrap(); + + // Wait until the client socket becomes readable again. + // If this blocks indefinitely, Miri lost track of the proper status of this socket. + check_epoll_wait::<8>(epfd, &[Ev { events: EPOLLIN, data: client_sockfd }], -1); + + // Now we can read the 2nd chunk of data. + unsafe { + libc_utils::read_exact_generic( + buffer.as_mut_ptr().cast(), + TEST_BYTES.len(), + libc_utils::NoRetry, + |buf, count| libc::read(client_sockfd, buf, count), + ) + .unwrap() + }; +} + +/// Test that Miri correctly removes the writable readiness or emits a new edge after a short write. +fn test_readiness_after_short_write() { + let (server_sockfd, addr) = net::make_listener_ipv4().unwrap(); + let client_sockfd = + unsafe { errno_result(libc::socket(libc::AF_INET, libc::SOCK_STREAM, 0)).unwrap() }; + let epfd = errno_result(unsafe { libc::epoll_create1(0) }).unwrap(); + + // Spawn the server thread. + let server_thread = thread::spawn(move || { + let (peerfd, _) = net::accept_ipv4(server_sockfd).unwrap(); + // Return the peer socket file descriptor such that we can use + // it after joining the server thread. + peerfd + }); + + net::connect_ipv4(client_sockfd, addr).unwrap(); + + unsafe { + // Change client socket to be non-blocking. + errno_check(libc::fcntl(client_sockfd, libc::F_SETFL, libc::O_NONBLOCK)); + } + + // The peer socket is a blocking socket. + let peerfd = server_thread.join().unwrap(); + + // Add client socket with writable interest to epoll. + epoll_ctl_add(epfd, client_sockfd, EPOLLET | EPOLLOUT).unwrap(); + + // Wait until the socket becomes writable. + check_epoll_wait::<8>(epfd, &[Ev { events: EPOLLOUT, data: client_sockfd }], -1); + + // We now want to fill the write buffer of the socket by repeatedly writing + // `buffer` into it. The last write should then be a short write. + // We assume/hope that the write buffer length is not divisible by 1039. + let buffer = [123u8; 1039]; + + let mut total_bytes_written = 0; + loop { + let result = unsafe { + errno_result(libc::write(client_sockfd, buffer.as_ptr().cast(), buffer.len())) + }; + + match result { + Ok(bytes_written) => { + total_bytes_written += bytes_written as usize; + if (bytes_written as usize) < buffer.len() { + // We had a short write; we thus assume the write buffer is full. + break; + } + } + Err(err) if err.kind() == ErrorKind::WouldBlock => { + // Windows and Apple hosts behave weirdly when attempting to fill up the write buffer. + // Instead of doing a short write to completely fill the buffer, they can return an + // EWOULDBLOCK when the next write wouldn't fit into the buffer. + // When we get such an error, we also assume the write buffer is full. + break; + } + Err(err) => panic!("unexpected error whilst filling up buffer: {err}"), + } + } + + // By reading half of the written bytes on the peer socket, the client socket + // should become writable again. + let mut read_buffer = Vec::::with_capacity(total_bytes_written / 2); + unsafe { + libc_utils::read_exact_generic( + read_buffer.as_mut_ptr().cast(), + total_bytes_written / 2, + libc_utils::NoRetry, + |buf, count| libc::read(peerfd, buf, count), + ) + .unwrap() + }; + + // Wait until the socket becomes writable again. + // If this blocks indefinitely, Miri lost track of the proper status of this socket. + check_epoll_wait::<8>(epfd, &[Ev { events: EPOLLOUT, data: client_sockfd }], -1); + + // We should again be able to write into the socket. + libc_utils::write_all(client_sockfd, &buffer).unwrap(); +} diff --git a/src/tools/miri/tests/pass-dep/libc/libc-socket.rs b/src/tools/miri/tests/pass-dep/libc/libc-socket.rs index a953796837f1..d9200c818608 100644 --- a/src/tools/miri/tests/pass-dep/libc/libc-socket.rs +++ b/src/tools/miri/tests/pass-dep/libc/libc-socket.rs @@ -553,9 +553,6 @@ fn test_shutdown() { assert_eq!(bytes_read, 0); } - // TODO: Once epoll is available for TCP sockets, ensure that the rdhup and hup readiness - // are set. - // Closing should affect previously duplicated handles. unsafe { let err = @@ -599,7 +596,6 @@ fn test_shutdown_readable_after_write_close() { unsafe { // Close the write end. libc::shutdown(client_sockfd, libc::SHUT_WR); - // Ensure that we're still readable. let mut byte = [0u8]; errno_result(libc::read(client_sockfd, byte.as_mut_ptr().cast(), 1)).unwrap(); @@ -624,7 +620,6 @@ fn test_shutdown_writable_after_read_close() { unsafe { // Close the read end. libc::shutdown(client_sockfd, libc::SHUT_RD); - // Ensure that we're still writable. errno_result(libc::write(client_sockfd, [1u8].as_ptr().cast(), 1)).unwrap(); } diff --git a/src/tools/miri/tests/pass-dep/tokio/socket.rs b/src/tools/miri/tests/pass-dep/tokio/socket.rs index a8014fa8ce7b..a0d47e96061b 100644 --- a/src/tools/miri/tests/pass-dep/tokio/socket.rs +++ b/src/tools/miri/tests/pass-dep/tokio/socket.rs @@ -1,7 +1,7 @@ //@only-target: linux # We only support tokio on Linux //@compile-flags: -Zmiri-disable-isolation -use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use tokio::io::{self, AsyncReadExt, AsyncWriteExt}; use tokio::net::{TcpListener, TcpStream}; const TEST_BYTES: &[u8] = b"these are some test bytes!"; @@ -10,6 +10,7 @@ async fn main() { test_accept_and_connect().await; test_read_write().await; + test_echo_server().await; } /// Test connecting and accepting a connection. @@ -54,3 +55,41 @@ async fn test_read_write() { stream.write_all(TEST_BYTES).await.unwrap(); } + +// Test that copying every socket input directly into it's output works. +// By this, we test whether Miri correctly removes read readiness when we +// have a short read (meaning the buffer is empty). +// This test case is heavily inspired by the `tcp_echo` test case of the tokio +// test suite. +async fn test_echo_server() { + const ITER: usize = 4; + + let (tx, rx) = tokio::sync::oneshot::channel(); + + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let addr = listener.local_addr().unwrap(); + + // Spawn the client thread. + tokio::spawn(async move { + let mut stream = TcpStream::connect(&addr).await.unwrap(); + + for _ in 0..ITER { + // Write some bytes into the socket. + stream.write_all(TEST_BYTES).await.unwrap(); + // Expect to read the same bytes again. + let mut buf = [0; TEST_BYTES.len()]; + stream.read_exact(&mut buf).await.unwrap(); + assert_eq!(&buf[..], TEST_BYTES); + } + + tx.send(()).unwrap(); + }); + + let (mut stream, _) = listener.accept().await.unwrap(); + let (mut rd, mut wr) = stream.split(); + + let n = io::copy(&mut rd, &mut wr).await.unwrap() as usize; + assert_eq!(n, ITER * TEST_BYTES.len()); + + rx.await.unwrap(); +} diff --git a/src/tools/miri/tests/pass/shims/env/temp.rs b/src/tools/miri/tests/pass/shims/env/temp.rs new file mode 100644 index 000000000000..815e0b882791 --- /dev/null +++ b/src/tools/miri/tests/pass/shims/env/temp.rs @@ -0,0 +1,9 @@ +//@compile-flags: -Zmiri-disable-isolation +use std::env; + +fn main() { + // If this is set it may hide calling some shims. + unsafe { env::remove_var("TMPDIR") }; + + let _path = env::temp_dir(); +} diff --git a/src/tools/miri/tests/pass/shims/x86/intrinsics-x86-avx512.rs b/src/tools/miri/tests/pass/shims/x86/intrinsics-x86-avx512.rs index bd93804ab7a0..31f47b57fd28 100644 --- a/src/tools/miri/tests/pass/shims/x86/intrinsics-x86-avx512.rs +++ b/src/tools/miri/tests/pass/shims/x86/intrinsics-x86-avx512.rs @@ -1,6 +1,6 @@ // We're testing x86 target specific features //@only-target: x86_64 i686 -//@compile-flags: -C target-feature=+avx512f,+avx512vl,+avx512bw,+avx512bitalg,+avx512vpopcntdq,+avx512vnni +//@compile-flags: -C target-feature=+avx512f,+avx512vl,+avx512bw,+avx512bitalg,+avx512vpopcntdq,+avx512vnni,+avx512vbmi #[cfg(target_arch = "x86")] use std::arch::x86::*; @@ -15,6 +15,7 @@ fn main() { assert!(is_x86_feature_detected!("avx512bitalg")); assert!(is_x86_feature_detected!("avx512vpopcntdq")); assert!(is_x86_feature_detected!("avx512vnni")); + assert!(is_x86_feature_detected!("avx512vbmi")); unsafe { test_avx512(); @@ -23,6 +24,7 @@ fn main() { test_avx512vpopcntdq(); test_avx512ternarylogic(); test_avx512vnni(); + test_avx512vbmi(); } } @@ -756,6 +758,114 @@ unsafe fn test_mm512_packus_epi32() { test_mm512_packus_epi32(); } +#[target_feature(enable = "avx512vbmi")] +unsafe fn test_avx512vbmi() { + #[target_feature(enable = "avx512vbmi")] + unsafe fn test_mm512_permutex2var_epi8() { + // For each index byte in `idx`: the low 6 bits (bits [5:0]) select + // a lane (0..63) within a source vector, the 7th bit (bit [6]) picks + // the source vector (0 = `a`, 1 = `b`), and the 8th bit (bit [7]) + // is ignored. + // + // a[i] = i + 1, b[i] = i + 65. + #[rustfmt::skip] + let a = _mm512_set_epi8( + 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, + 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, + 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, + 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, + ); + #[rustfmt::skip] + let b = _mm512_set_epi8( + 128u8 as i8, 127, 126, 125, 124, 123, 122, 121, + 120, 119, 118, 117, 116, 115, 114, 113, + 112, 111, 110, 109, 108, 107, 106, 105, + 104, 103, 102, 101, 100, 99, 98, 97, + 96, 95, 94, 93, 92, 91, 90, 89, + 88, 87, 86, 85, 84, 83, 82, 81, + 80, 79, 78, 77, 76, 75, 74, 73, + 72, 71, 70, 69, 68, 67, 66, 65, + ); + + // Indices 0..63: the 7th bit (bit [6]) is clear so all elements + // come from `a`, and bits [5:0] equal the lane index so each lane + // reads from the same position. + #[rustfmt::skip] + let idx = _mm512_set_epi8( + 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, + 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, + 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, + 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, + ); + assert_eq_m512i(_mm512_permutex2var_epi8(a, idx, b), a); + + // Indices 64..127: the 7th bit (bit [6]) is set so all elements + // come from `b`, and bits [5:0] still equal the lane index. + let idx = _mm512_add_epi8(idx, _mm512_set1_epi8(64)); + assert_eq_m512i(_mm512_permutex2var_epi8(a, idx, b), b); + + // Mix: even byte positions from `a`, odd from `b`. + #[rustfmt::skip] + let idx = _mm512_set_epi8( + 127u8 as i8, 62, 125, 60, 123, 58, 121, 56, + 119, 54, 117, 52, 115, 50, 113, 48, + 111, 46, 109, 44, 107, 42, 105, 40, + 103, 38, 101, 36, 99, 34, 97, 32, + 95, 30, 93, 28, 91, 26, 89, 24, + 87, 22, 85, 20, 83, 18, 81, 16, + 79, 14, 77, 12, 75, 10, 73, 8, + 71, 6, 69, 4, 67, 2, 65, 0, + ); + #[rustfmt::skip] + let e = _mm512_set_epi8( + 128u8 as i8, 63, 126, 61, 124, 59, 122, 57, + 120, 55, 118, 53, 116, 51, 114, 49, + 112, 47, 110, 45, 108, 43, 106, 41, + 104, 39, 102, 37, 100, 35, 98, 33, + 96, 31, 94, 29, 92, 27, 90, 25, + 88, 23, 86, 21, 84, 19, 82, 17, + 80, 15, 78, 13, 76, 11, 74, 9, + 72, 7, 70, 5, 68, 3, 66, 1, + ); + assert_eq_m512i(_mm512_permutex2var_epi8(a, idx, b), e); + + // Only bits [6:0] of each index are used: bits [5:0] pick the lane, + // bit 6 selects between `a` and `b`, bit 7 is ignored. + #[rustfmt::skip] + let idx = _mm512_set_epi8( + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + 0, -1i8, -128i8, 127, 64, 63, 128u8 as i8, 1, + ); + // 0 -> 0b_0_000000 -> a[0] = 1 + // -1 -> 0xFF = 0b_11_111111 -> bit6=1, lane=63 -> b[63] = 128 + // -128 -> 0x80 = 0b_10_000000 -> bit6=0, lane=0 -> a[0] = 1 (bit7 ignored) + // 127 -> 0x7F = 0b_01_111111 -> bit6=1, lane=63 -> b[63] = 128 + // 64 -> 0x40 = 0b_01_000000 -> bit6=1, lane=0 -> b[0] = 65 + // 63 -> 0x3F = 0b_00_111111 -> bit6=0, lane=63 -> a[63] = 64 + // 128u8 -> 0x80 = 0b_10_000000 -> bit6=0, lane=0 -> a[0] = 1 (bit7 ignored) + // 1 -> 0b_0_000001 -> a[1] = 2 + #[rustfmt::skip] + let e = _mm512_set_epi8( + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + 1, 128u8 as i8, 1, 128u8 as i8, 65, 64, 1, 2, + ); + assert_eq_m512i(_mm512_permutex2var_epi8(a, idx, b), e); + } + test_mm512_permutex2var_epi8(); +} + #[track_caller] unsafe fn assert_eq_m512i(a: __m512i, b: __m512i) { assert_eq!(transmute::<_, [u16; 32]>(a), transmute::<_, [u16; 32]>(b)) diff --git a/src/tools/miri/tests/pass/weak-linkage-missing.rs b/src/tools/miri/tests/pass/weak-linkage-missing.rs new file mode 100644 index 000000000000..c02226963097 --- /dev/null +++ b/src/tools/miri/tests/pass/weak-linkage-missing.rs @@ -0,0 +1,10 @@ +#![feature(linkage)] + +unsafe extern "C" { + #[linkage = "extern_weak"] + static test_symbol_that_does_not_exist: Option; +} + +fn main() { + unsafe { assert!(test_symbol_that_does_not_exist.is_none()) }; +} diff --git a/src/tools/miri/tests/ui.rs b/src/tools/miri/tests/ui.rs index 23125d116cf1..96c0ccb7d697 100644 --- a/src/tools/miri/tests/ui.rs +++ b/src/tools/miri/tests/ui.rs @@ -219,7 +219,7 @@ fn run_tests( config.program.args.push("-Zmiri-disable-stacked-borrows".into()); } - eprintln!(" Compiler: {}", config.program.display()); + println!(" Compiler: {}", config.program.display()); ui_test::run_tests_generic( // Only run one test suite. In the future we can add all test suites to one `Vec` and run // them all at once, making best use of systems with high parallelism. @@ -303,7 +303,7 @@ fn ui( tmpdir: &Path, ) -> Result<()> { let msg = format!("## Running ui tests in {path} for {target}"); - eprintln!("{}", msg.green().bold()); + println!("{}", msg.green().bold()); let with_dependencies = match with_dependencies { WithDependencies => true, diff --git a/tests/mir-opt/building/match/deref-patterns/string.foo.PreCodegen.after.mir b/tests/mir-opt/building/match/deref-patterns/string.foo.runtime-optimized.after.mir similarity index 97% rename from tests/mir-opt/building/match/deref-patterns/string.foo.PreCodegen.after.mir rename to tests/mir-opt/building/match/deref-patterns/string.foo.runtime-optimized.after.mir index c7c26d6351ad..c7217e31a7f9 100644 --- a/tests/mir-opt/building/match/deref-patterns/string.foo.PreCodegen.after.mir +++ b/tests/mir-opt/building/match/deref-patterns/string.foo.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `foo` after PreCodegen +// MIR for `foo` after runtime-optimized fn foo(_1: Option) -> i32 { debug s => _1; diff --git a/tests/mir-opt/building/match/deref-patterns/string.rs b/tests/mir-opt/building/match/deref-patterns/string.rs index 2426cb7d1a75..406ecc7aeabb 100644 --- a/tests/mir-opt/building/match/deref-patterns/string.rs +++ b/tests/mir-opt/building/match/deref-patterns/string.rs @@ -4,7 +4,7 @@ #![feature(deref_patterns)] #![crate_type = "lib"] -// EMIT_MIR string.foo.PreCodegen.after.mir +// EMIT_MIR string.foo.runtime-optimized.after.mir pub fn foo(s: Option) -> i32 { match s { Some("a") => 1234, diff --git a/tests/mir-opt/building/while_storage.rs b/tests/mir-opt/building/while_storage.rs index cd226eb0c1e2..c193cfe39499 100644 --- a/tests/mir-opt/building/while_storage.rs +++ b/tests/mir-opt/building/while_storage.rs @@ -7,7 +7,7 @@ fn get_bool(c: bool) -> bool { c } -// EMIT_MIR while_storage.while_loop.PreCodegen.after.mir +// EMIT_MIR while_storage.while_loop.runtime-optimized.after.mir fn while_loop(c: bool) { // CHECK-LABEL: fn while_loop( // CHECK: bb0: { diff --git a/tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/building/while_storage.while_loop.runtime-optimized.after.panic-abort.mir similarity index 96% rename from tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/building/while_storage.while_loop.runtime-optimized.after.panic-abort.mir index 44a8b7342b2e..458261f1fb97 100644 --- a/tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/building/while_storage.while_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `while_loop` after PreCodegen +// MIR for `while_loop` after runtime-optimized fn while_loop(_1: bool) -> () { debug c => _1; diff --git a/tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/building/while_storage.while_loop.runtime-optimized.after.panic-unwind.mir similarity index 96% rename from tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/building/while_storage.while_loop.runtime-optimized.after.panic-unwind.mir index 9a6403006744..d1703f23f3a1 100644 --- a/tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/building/while_storage.while_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `while_loop` after PreCodegen +// MIR for `while_loop` after runtime-optimized fn while_loop(_1: bool) -> () { debug c => _1; diff --git a/tests/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.panic-abort.mir b/tests/mir-opt/const_prop/control_flow_simplification.hello.runtime-optimized.after.panic-abort.mir similarity index 63% rename from tests/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.panic-abort.mir rename to tests/mir-opt/const_prop/control_flow_simplification.hello.runtime-optimized.after.panic-abort.mir index 2b90410f95d9..86eda4942a7c 100644 --- a/tests/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.panic-abort.mir +++ b/tests/mir-opt/const_prop/control_flow_simplification.hello.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `hello` before PreCodegen +// MIR for `hello` after runtime-optimized fn hello() -> () { let mut _0: (); diff --git a/tests/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.panic-unwind.mir b/tests/mir-opt/const_prop/control_flow_simplification.hello.runtime-optimized.after.panic-unwind.mir similarity index 63% rename from tests/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.panic-unwind.mir rename to tests/mir-opt/const_prop/control_flow_simplification.hello.runtime-optimized.after.panic-unwind.mir index 2b90410f95d9..86eda4942a7c 100644 --- a/tests/mir-opt/const_prop/control_flow_simplification.hello.PreCodegen.before.panic-unwind.mir +++ b/tests/mir-opt/const_prop/control_flow_simplification.hello.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `hello` before PreCodegen +// MIR for `hello` after runtime-optimized fn hello() -> () { let mut _0: (); diff --git a/tests/mir-opt/const_prop/control_flow_simplification.rs b/tests/mir-opt/const_prop/control_flow_simplification.rs index 8ec630d6f48d..640579a3ebec 100644 --- a/tests/mir-opt/const_prop/control_flow_simplification.rs +++ b/tests/mir-opt/const_prop/control_flow_simplification.rs @@ -9,7 +9,7 @@ trait NeedsDrop: Sized { impl NeedsDrop for This {} // EMIT_MIR control_flow_simplification.hello.GVN.diff -// EMIT_MIR control_flow_simplification.hello.PreCodegen.before.mir +// EMIT_MIR control_flow_simplification.hello.runtime-optimized.after.mir fn hello() { // CHECK-LABEL: fn hello( // CHECK: bb0: diff --git a/tests/mir-opt/const_prop/return_place.add.PreCodegen.before.panic-abort.mir b/tests/mir-opt/const_prop/return_place.add.runtime-optimized.after.panic-abort.mir similarity index 89% rename from tests/mir-opt/const_prop/return_place.add.PreCodegen.before.panic-abort.mir rename to tests/mir-opt/const_prop/return_place.add.runtime-optimized.after.panic-abort.mir index 66fd61cc3aee..6d429a50ce58 100644 --- a/tests/mir-opt/const_prop/return_place.add.PreCodegen.before.panic-abort.mir +++ b/tests/mir-opt/const_prop/return_place.add.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `add` before PreCodegen +// MIR for `add` after runtime-optimized fn add() -> u32 { let mut _0: u32; diff --git a/tests/mir-opt/const_prop/return_place.add.PreCodegen.before.panic-unwind.mir b/tests/mir-opt/const_prop/return_place.add.runtime-optimized.after.panic-unwind.mir similarity index 89% rename from tests/mir-opt/const_prop/return_place.add.PreCodegen.before.panic-unwind.mir rename to tests/mir-opt/const_prop/return_place.add.runtime-optimized.after.panic-unwind.mir index f9b07a59de9c..8e5b3c667639 100644 --- a/tests/mir-opt/const_prop/return_place.add.PreCodegen.before.panic-unwind.mir +++ b/tests/mir-opt/const_prop/return_place.add.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `add` before PreCodegen +// MIR for `add` after runtime-optimized fn add() -> u32 { let mut _0: u32; diff --git a/tests/mir-opt/const_prop/return_place.rs b/tests/mir-opt/const_prop/return_place.rs index c5293aa73e55..6459e526f1ac 100644 --- a/tests/mir-opt/const_prop/return_place.rs +++ b/tests/mir-opt/const_prop/return_place.rs @@ -3,7 +3,7 @@ //@ compile-flags: -C overflow-checks=on -Zdump-mir-exclude-alloc-bytes // EMIT_MIR return_place.add.GVN.diff -// EMIT_MIR return_place.add.PreCodegen.before.mir +// EMIT_MIR return_place.add.runtime-optimized.after.mir fn add() -> u32 { // CHECK-LABEL: fn add( // CHECK: _0 = const 4_u32; diff --git a/tests/mir-opt/inline/rustc_no_mir_inline.caller.PreCodegen.after.panic-abort.mir b/tests/mir-opt/inline/rustc_no_mir_inline.caller.runtime-optimized.after.panic-abort.mir similarity index 79% rename from tests/mir-opt/inline/rustc_no_mir_inline.caller.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/inline/rustc_no_mir_inline.caller.runtime-optimized.after.panic-abort.mir index d0772e51a07f..f6a6e86bff26 100644 --- a/tests/mir-opt/inline/rustc_no_mir_inline.caller.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/inline/rustc_no_mir_inline.caller.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `caller` after PreCodegen +// MIR for `caller` after runtime-optimized fn caller() -> () { let mut _0: (); diff --git a/tests/mir-opt/inline/rustc_no_mir_inline.caller.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/inline/rustc_no_mir_inline.caller.runtime-optimized.after.panic-unwind.mir similarity index 79% rename from tests/mir-opt/inline/rustc_no_mir_inline.caller.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/inline/rustc_no_mir_inline.caller.runtime-optimized.after.panic-unwind.mir index 39ad4f1010b7..c8703ce51598 100644 --- a/tests/mir-opt/inline/rustc_no_mir_inline.caller.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/inline/rustc_no_mir_inline.caller.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `caller` after PreCodegen +// MIR for `caller` after runtime-optimized fn caller() -> () { let mut _0: (); diff --git a/tests/mir-opt/inline/rustc_no_mir_inline.rs b/tests/mir-opt/inline/rustc_no_mir_inline.rs index b008df32726b..9ce4e5f0b67e 100644 --- a/tests/mir-opt/inline/rustc_no_mir_inline.rs +++ b/tests/mir-opt/inline/rustc_no_mir_inline.rs @@ -9,7 +9,7 @@ pub fn callee() {} // EMIT_MIR rustc_no_mir_inline.caller.Inline.diff -// EMIT_MIR rustc_no_mir_inline.caller.PreCodegen.after.mir +// EMIT_MIR rustc_no_mir_inline.caller.runtime-optimized.after.mir pub fn caller() { // CHECK-LABEL: fn caller( // CHECK: callee() diff --git a/tests/mir-opt/inline/unchecked_shifts.rs b/tests/mir-opt/inline/unchecked_shifts.rs index a20b13dc1149..167b4beecdfb 100644 --- a/tests/mir-opt/inline/unchecked_shifts.rs +++ b/tests/mir-opt/inline/unchecked_shifts.rs @@ -7,7 +7,7 @@ // After MCP#693, though, that's the backend's problem, not something in MIR. // EMIT_MIR unchecked_shifts.unchecked_shl_unsigned_smaller.Inline.diff -// EMIT_MIR unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.mir +// EMIT_MIR unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.mir pub unsafe fn unchecked_shl_unsigned_smaller(a: u16, b: u32) -> u16 { // CHECK-LABEL: fn unchecked_shl_unsigned_smaller( // CHECK: (inlined #[track_caller] core::num::::unchecked_shl) @@ -15,7 +15,7 @@ pub unsafe fn unchecked_shl_unsigned_smaller(a: u16, b: u32) -> u16 { } // EMIT_MIR unchecked_shifts.unchecked_shr_signed_bigger.Inline.diff -// EMIT_MIR unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.mir +// EMIT_MIR unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.mir pub unsafe fn unchecked_shr_signed_bigger(a: i64, b: u32) -> i64 { // CHECK-LABEL: fn unchecked_shr_signed_bigger( // CHECK: (inlined #[track_caller] core::num::::unchecked_shr) diff --git a/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-abort.mir b/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.panic-abort.mir similarity index 86% rename from tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.panic-abort.mir index 0fc7c4b7947e..d185a4365f90 100644 --- a/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `unchecked_shl_unsigned_smaller` after PreCodegen +// MIR for `unchecked_shl_unsigned_smaller` after runtime-optimized fn unchecked_shl_unsigned_smaller(_1: u16, _2: u32) -> u16 { debug a => _1; diff --git a/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.panic-unwind.mir similarity index 86% rename from tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.panic-unwind.mir index 0fc7c4b7947e..d185a4365f90 100644 --- a/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/inline/unchecked_shifts.unchecked_shl_unsigned_smaller.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `unchecked_shl_unsigned_smaller` after PreCodegen +// MIR for `unchecked_shl_unsigned_smaller` after runtime-optimized fn unchecked_shl_unsigned_smaller(_1: u16, _2: u32) -> u16 { debug a => _1; diff --git a/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-abort.mir b/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.panic-abort.mir similarity index 87% rename from tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.panic-abort.mir index bef7fa7b1df7..cb51c0e6bcef 100644 --- a/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `unchecked_shr_signed_bigger` after PreCodegen +// MIR for `unchecked_shr_signed_bigger` after runtime-optimized fn unchecked_shr_signed_bigger(_1: i64, _2: u32) -> i64 { debug a => _1; diff --git a/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.panic-unwind.mir similarity index 87% rename from tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.panic-unwind.mir index bef7fa7b1df7..cb51c0e6bcef 100644 --- a/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/inline/unchecked_shifts.unchecked_shr_signed_bigger.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `unchecked_shr_signed_bigger` after PreCodegen +// MIR for `unchecked_shr_signed_bigger` after runtime-optimized fn unchecked_shr_signed_bigger(_1: i64, _2: u32) -> i64 { debug a => _1; diff --git a/tests/mir-opt/inline/unwrap_unchecked.rs b/tests/mir-opt/inline/unwrap_unchecked.rs index 13c76c5bb53e..f5e48a71ae19 100644 --- a/tests/mir-opt/inline/unwrap_unchecked.rs +++ b/tests/mir-opt/inline/unwrap_unchecked.rs @@ -4,7 +4,7 @@ //@ compile-flags: -Zmir-opt-level=2 -Zinline-mir // EMIT_MIR unwrap_unchecked.unwrap_unchecked.Inline.diff -// EMIT_MIR unwrap_unchecked.unwrap_unchecked.PreCodegen.after.mir +// EMIT_MIR unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.mir pub unsafe fn unwrap_unchecked(slf: Option) -> T { // CHECK-LABEL: fn unwrap_unchecked( // CHECK: (inlined #[track_caller] Option::::unwrap_unchecked) diff --git a/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-abort.mir b/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.panic-abort.mir similarity index 92% rename from tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.panic-abort.mir index e0fcd5c92247..32694fdc9f40 100644 --- a/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `unwrap_unchecked` after PreCodegen +// MIR for `unwrap_unchecked` after runtime-optimized fn unwrap_unchecked(_1: Option) -> T { debug slf => _1; diff --git a/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.panic-unwind.mir similarity index 92% rename from tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.panic-unwind.mir index e0fcd5c92247..32694fdc9f40 100644 --- a/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/inline/unwrap_unchecked.unwrap_unchecked.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `unwrap_unchecked` after PreCodegen +// MIR for `unwrap_unchecked` after runtime-optimized fn unwrap_unchecked(_1: Option) -> T { debug slf => _1; diff --git a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.32bit.panic-abort.mir b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.32bit.panic-abort.mir similarity index 96% rename from tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.32bit.panic-abort.mir rename to tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.32bit.panic-abort.mir index f3c83f62edf6..14aac21eabdd 100644 --- a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.32bit.panic-abort.mir +++ b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.32bit.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `num_to_digit` after PreCodegen +// MIR for `num_to_digit` after runtime-optimized fn num_to_digit(_1: char) -> u32 { debug num => _1; diff --git a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.32bit.panic-unwind.mir b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.32bit.panic-unwind.mir similarity index 96% rename from tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.32bit.panic-unwind.mir rename to tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.32bit.panic-unwind.mir index 0e55df24cc57..1a4ddd037023 100644 --- a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.32bit.panic-unwind.mir +++ b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.32bit.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `num_to_digit` after PreCodegen +// MIR for `num_to_digit` after runtime-optimized fn num_to_digit(_1: char) -> u32 { debug num => _1; diff --git a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.64bit.panic-abort.mir b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.64bit.panic-abort.mir similarity index 96% rename from tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.64bit.panic-abort.mir rename to tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.64bit.panic-abort.mir index f3c83f62edf6..14aac21eabdd 100644 --- a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.64bit.panic-abort.mir +++ b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.64bit.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `num_to_digit` after PreCodegen +// MIR for `num_to_digit` after runtime-optimized fn num_to_digit(_1: char) -> u32 { debug num => _1; diff --git a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.64bit.panic-unwind.mir b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.64bit.panic-unwind.mir similarity index 96% rename from tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.64bit.panic-unwind.mir rename to tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.64bit.panic-unwind.mir index 0e55df24cc57..1a4ddd037023 100644 --- a/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.64bit.panic-unwind.mir +++ b/tests/mir-opt/issues/issue_59352.num_to_digit.runtime-optimized.after.64bit.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `num_to_digit` after PreCodegen +// MIR for `num_to_digit` after runtime-optimized fn num_to_digit(_1: char) -> u32 { debug num => _1; diff --git a/tests/mir-opt/issues/issue_59352.rs b/tests/mir-opt/issues/issue_59352.rs index 516a712f1db1..4af37bda62f8 100644 --- a/tests/mir-opt/issues/issue_59352.rs +++ b/tests/mir-opt/issues/issue_59352.rs @@ -9,7 +9,7 @@ // Once the optimizer can do that, this test case will need to be updated and codegen/issue-59352.rs // removed. -// EMIT_MIR issue_59352.num_to_digit.PreCodegen.after.mir +// EMIT_MIR issue_59352.num_to_digit.runtime-optimized.after.mir //@ compile-flags: -Z mir-opt-level=3 -Z span_free_formats pub fn num_to_digit(num: char) -> u32 { diff --git a/tests/mir-opt/pattern_types.main.PreCodegen.after.mir b/tests/mir-opt/pattern_types.main.runtime-optimized.after.mir similarity index 84% rename from tests/mir-opt/pattern_types.main.PreCodegen.after.mir rename to tests/mir-opt/pattern_types.main.runtime-optimized.after.mir index cc01f51973c8..7477ff32d554 100644 --- a/tests/mir-opt/pattern_types.main.PreCodegen.after.mir +++ b/tests/mir-opt/pattern_types.main.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `main` after PreCodegen +// MIR for `main` after runtime-optimized fn main() -> () { let mut _0: (); diff --git a/tests/mir-opt/pattern_types.rs b/tests/mir-opt/pattern_types.rs index d5847b95f732..2bb5909e6ab4 100644 --- a/tests/mir-opt/pattern_types.rs +++ b/tests/mir-opt/pattern_types.rs @@ -3,7 +3,7 @@ use std::pat::pattern_type; -// EMIT_MIR pattern_types.main.PreCodegen.after.mir +// EMIT_MIR pattern_types.main.runtime-optimized.after.mir fn main() { // CHECK: debug x => const 2_u32 is 1.. let x: pattern_type!(u32 is 1..) = unsafe { std::mem::transmute(2) }; diff --git a/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.runtime-optimized.after.panic-abort.mir similarity index 92% rename from tests/mir-opt/pre-codegen/array_eq.eq_ipv4.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/array_eq.eq_ipv4.runtime-optimized.after.panic-abort.mir index 258be57f67c9..d48e1b603664 100644 --- a/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `eq_ipv4` after PreCodegen +// MIR for `eq_ipv4` after runtime-optimized fn eq_ipv4(_1: &[u8; 4], _2: &[u8; 4]) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.runtime-optimized.after.panic-unwind.mir similarity index 92% rename from tests/mir-opt/pre-codegen/array_eq.eq_ipv4.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/array_eq.eq_ipv4.runtime-optimized.after.panic-unwind.mir index 258be57f67c9..d48e1b603664 100644 --- a/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/array_eq.eq_ipv4.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `eq_ipv4` after PreCodegen +// MIR for `eq_ipv4` after runtime-optimized fn eq_ipv4(_1: &[u8; 4], _2: &[u8; 4]) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.runtime-optimized.after.panic-abort.mir similarity index 92% rename from tests/mir-opt/pre-codegen/array_eq.eq_ipv6.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/array_eq.eq_ipv6.runtime-optimized.after.panic-abort.mir index e36781345083..c76008171a2a 100644 --- a/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `eq_ipv6` after PreCodegen +// MIR for `eq_ipv6` after runtime-optimized fn eq_ipv6(_1: &[u16; 8], _2: &[u16; 8]) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.runtime-optimized.after.panic-unwind.mir similarity index 92% rename from tests/mir-opt/pre-codegen/array_eq.eq_ipv6.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/array_eq.eq_ipv6.runtime-optimized.after.panic-unwind.mir index e36781345083..c76008171a2a 100644 --- a/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/array_eq.eq_ipv6.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `eq_ipv6` after PreCodegen +// MIR for `eq_ipv6` after runtime-optimized fn eq_ipv6(_1: &[u16; 8], _2: &[u16; 8]) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.runtime-optimized.after.panic-abort.mir similarity index 91% rename from tests/mir-opt/pre-codegen/array_eq.eq_odd_length.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/array_eq.eq_odd_length.runtime-optimized.after.panic-abort.mir index 06d7f222df14..03ea7411284b 100644 --- a/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `eq_odd_length` after PreCodegen +// MIR for `eq_odd_length` after runtime-optimized fn eq_odd_length(_1: &[u8; 3], _2: &[u8; 3]) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.runtime-optimized.after.panic-unwind.mir similarity index 91% rename from tests/mir-opt/pre-codegen/array_eq.eq_odd_length.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/array_eq.eq_odd_length.runtime-optimized.after.panic-unwind.mir index 06d7f222df14..03ea7411284b 100644 --- a/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/array_eq.eq_odd_length.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `eq_odd_length` after PreCodegen +// MIR for `eq_odd_length` after runtime-optimized fn eq_odd_length(_1: &[u8; 3], _2: &[u8; 3]) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/array_eq.rs b/tests/mir-opt/pre-codegen/array_eq.rs index 0bfe34eb3761..ee60b4d9a7ab 100644 --- a/tests/mir-opt/pre-codegen/array_eq.rs +++ b/tests/mir-opt/pre-codegen/array_eq.rs @@ -3,14 +3,14 @@ #![crate_type = "lib"] -// EMIT_MIR array_eq.eq_odd_length.PreCodegen.after.mir +// EMIT_MIR array_eq.eq_odd_length.runtime-optimized.after.mir pub unsafe fn eq_odd_length(a: &[u8; 3], b: &[u8; 3]) -> bool { // CHECK-LABEL: fn eq_odd_length(_1: &[u8; 3], _2: &[u8; 3]) -> bool // CHECK: _0 = raw_eq::<[u8; 3]>(move _1, move _2) a == b } -// EMIT_MIR array_eq.eq_ipv4.PreCodegen.after.mir +// EMIT_MIR array_eq.eq_ipv4.runtime-optimized.after.mir pub unsafe fn eq_ipv4(a: &[u8; 4], b: &[u8; 4]) -> bool { // CHECK-LABEL: fn eq_ipv4(_1: &[u8; 4], _2: &[u8; 4]) -> bool // CHECK: [[A:_.+]] = copy (*_1) as u32 (Transmute); @@ -19,7 +19,7 @@ a == b } -// EMIT_MIR array_eq.eq_ipv6.PreCodegen.after.mir +// EMIT_MIR array_eq.eq_ipv6.runtime-optimized.after.mir pub unsafe fn eq_ipv6(a: &[u16; 8], b: &[u16; 8]) -> bool { // CHECK-LABEL: fn eq_ipv6(_1: &[u16; 8], _2: &[u16; 8]) -> bool // CHECK: [[A:_.+]] = copy (*_1) as u128 (Transmute); diff --git a/tests/mir-opt/pre-codegen/chained_comparison.bitand.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/chained_comparison.bitand.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/chained_comparison.bitand.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/chained_comparison.bitand.runtime-optimized.after.mir index 9b77bdb7cf61..8cc922d453d2 100644 --- a/tests/mir-opt/pre-codegen/chained_comparison.bitand.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/chained_comparison.bitand.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `bitand` after PreCodegen +// MIR for `bitand` after runtime-optimized fn bitand(_1: &Blueprint, _2: &Blueprint) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/chained_comparison.naive.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/chained_comparison.naive.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/chained_comparison.naive.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/chained_comparison.naive.runtime-optimized.after.mir index 9b3e28ab5b8e..1312b1b4e972 100644 --- a/tests/mir-opt/pre-codegen/chained_comparison.naive.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/chained_comparison.naive.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `naive` after PreCodegen +// MIR for `naive` after runtime-optimized fn naive(_1: &Blueprint, _2: &Blueprint) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/chained_comparison.returning.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/chained_comparison.returning.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/chained_comparison.returning.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/chained_comparison.returning.runtime-optimized.after.mir index 72d52701d112..36d15af8b29b 100644 --- a/tests/mir-opt/pre-codegen/chained_comparison.returning.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/chained_comparison.returning.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `returning` after PreCodegen +// MIR for `returning` after runtime-optimized fn returning(_1: &Blueprint, _2: &Blueprint) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/chained_comparison.rs b/tests/mir-opt/pre-codegen/chained_comparison.rs index 8c359bda143a..d0ad5d3cf943 100644 --- a/tests/mir-opt/pre-codegen/chained_comparison.rs +++ b/tests/mir-opt/pre-codegen/chained_comparison.rs @@ -46,6 +46,6 @@ pub fn returning(a: &Blueprint, b: &Blueprint) -> bool { true } -// EMIT_MIR chained_comparison.naive.PreCodegen.after.mir -// EMIT_MIR chained_comparison.bitand.PreCodegen.after.mir -// EMIT_MIR chained_comparison.returning.PreCodegen.after.mir +// EMIT_MIR chained_comparison.naive.runtime-optimized.after.mir +// EMIT_MIR chained_comparison.bitand.runtime-optimized.after.mir +// EMIT_MIR chained_comparison.returning.runtime-optimized.after.mir diff --git a/tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/checked_ops.checked_shl.runtime-optimized.after.panic-abort.mir similarity index 95% rename from tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/checked_ops.checked_shl.runtime-optimized.after.panic-abort.mir index c97c9b45d6ad..9a7a230fdb48 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.checked_shl.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `checked_shl` after PreCodegen +// MIR for `checked_shl` after runtime-optimized fn checked_shl(_1: u32, _2: u32) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/checked_ops.checked_shl.runtime-optimized.after.panic-unwind.mir similarity index 95% rename from tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/checked_ops.checked_shl.runtime-optimized.after.panic-unwind.mir index c97c9b45d6ad..9a7a230fdb48 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.checked_shl.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `checked_shl` after PreCodegen +// MIR for `checked_shl` after runtime-optimized fn checked_shl(_1: u32, _2: u32) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.rs b/tests/mir-opt/pre-codegen/checked_ops.rs index dfbc0f4a1108..690b35430c74 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.rs +++ b/tests/mir-opt/pre-codegen/checked_ops.rs @@ -4,7 +4,7 @@ #![crate_type = "lib"] #![feature(step_trait)] -// EMIT_MIR checked_ops.step_forward.PreCodegen.after.mir +// EMIT_MIR checked_ops.step_forward.runtime-optimized.after.mir pub fn step_forward(x: u16, n: usize) -> u16 { // This uses `u16` so that the conversion to usize is always widening. @@ -13,7 +13,7 @@ pub fn step_forward(x: u16, n: usize) -> u16 { std::iter::Step::forward(x, n) } -// EMIT_MIR checked_ops.checked_shl.PreCodegen.after.mir +// EMIT_MIR checked_ops.checked_shl.runtime-optimized.after.mir pub fn checked_shl(x: u32, rhs: u32) -> Option { // CHECK-LABEL: fn checked_shl // CHECK: [[TEMP:_[0-9]+]] = ShlUnchecked(copy _1, copy _2) @@ -21,7 +21,7 @@ pub fn checked_shl(x: u32, rhs: u32) -> Option { x.checked_shl(rhs) } -// EMIT_MIR checked_ops.use_checked_sub.PreCodegen.after.mir +// EMIT_MIR checked_ops.use_checked_sub.runtime-optimized.after.mir pub fn use_checked_sub(x: u32, rhs: u32) { // We want this to be equivalent to open-coding it, leaving no `Option`s around. // FIXME(#138544): It's not yet. @@ -37,7 +37,7 @@ pub fn use_checked_sub(x: u32, rhs: u32) { } } -// EMIT_MIR checked_ops.saturating_sub_at_home.PreCodegen.after.mir +// EMIT_MIR checked_ops.saturating_sub_at_home.runtime-optimized.after.mir pub fn saturating_sub_at_home(lhs: u32, rhs: u32) -> u32 { // FIXME(#138544): Similarly here, the `Option` ought to optimize away diff --git a/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.runtime-optimized.after.panic-abort.mir similarity index 93% rename from tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.runtime-optimized.after.panic-abort.mir index dc7567b57e70..1ffe006d2887 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `saturating_sub_at_home` after PreCodegen +// MIR for `saturating_sub_at_home` after runtime-optimized fn saturating_sub_at_home(_1: u32, _2: u32) -> u32 { debug lhs => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.runtime-optimized.after.panic-unwind.mir similarity index 93% rename from tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.runtime-optimized.after.panic-unwind.mir index dc7567b57e70..1ffe006d2887 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.saturating_sub_at_home.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `saturating_sub_at_home` after PreCodegen +// MIR for `saturating_sub_at_home` after runtime-optimized fn saturating_sub_at_home(_1: u32, _2: u32) -> u32 { debug lhs => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.step_forward.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/checked_ops.step_forward.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/checked_ops.step_forward.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/checked_ops.step_forward.runtime-optimized.after.panic-abort.mir index 7b681946bee1..073baaa75be9 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.step_forward.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.step_forward.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `step_forward` after PreCodegen +// MIR for `step_forward` after runtime-optimized fn step_forward(_1: u16, _2: usize) -> u16 { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.step_forward.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/checked_ops.step_forward.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/checked_ops.step_forward.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/checked_ops.step_forward.runtime-optimized.after.panic-unwind.mir index a0137b23ec4f..9ada3691f3a2 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.step_forward.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.step_forward.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `step_forward` after PreCodegen +// MIR for `step_forward` after runtime-optimized fn step_forward(_1: u16, _2: usize) -> u16 { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.runtime-optimized.after.panic-abort.mir similarity index 95% rename from tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.runtime-optimized.after.panic-abort.mir index 426c114dfc2a..f24a8e41b7db 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `use_checked_sub` after PreCodegen +// MIR for `use_checked_sub` after runtime-optimized fn use_checked_sub(_1: u32, _2: u32) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.runtime-optimized.after.panic-unwind.mir similarity index 95% rename from tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.runtime-optimized.after.panic-unwind.mir index f73c64a9b092..6bcb730be7f1 100644 --- a/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/checked_ops.use_checked_sub.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `use_checked_sub` after PreCodegen +// MIR for `use_checked_sub` after runtime-optimized fn use_checked_sub(_1: u32, _2: u32) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/clone_as_copy.clone_as_copy.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/clone_as_copy.clone_as_copy.runtime-optimized.after.mir similarity index 88% rename from tests/mir-opt/pre-codegen/clone_as_copy.clone_as_copy.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/clone_as_copy.clone_as_copy.runtime-optimized.after.mir index 1e6e2ee1b8b7..18069a37ed90 100644 --- a/tests/mir-opt/pre-codegen/clone_as_copy.clone_as_copy.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/clone_as_copy.clone_as_copy.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `clone_as_copy` after PreCodegen +// MIR for `clone_as_copy` after runtime-optimized fn clone_as_copy(_1: &NestCopy) -> NestCopy { debug v => _1; diff --git a/tests/mir-opt/pre-codegen/clone_as_copy.enum_clone_as_copy.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/clone_as_copy.enum_clone_as_copy.runtime-optimized.after.mir similarity index 93% rename from tests/mir-opt/pre-codegen/clone_as_copy.enum_clone_as_copy.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/clone_as_copy.enum_clone_as_copy.runtime-optimized.after.mir index 76bb49bc9c1b..ef907c83c10e 100644 --- a/tests/mir-opt/pre-codegen/clone_as_copy.enum_clone_as_copy.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/clone_as_copy.enum_clone_as_copy.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `enum_clone_as_copy` after PreCodegen +// MIR for `enum_clone_as_copy` after runtime-optimized fn enum_clone_as_copy(_1: &Enum1) -> Enum1 { debug v => _1; diff --git a/tests/mir-opt/pre-codegen/clone_as_copy.rs b/tests/mir-opt/pre-codegen/clone_as_copy.rs index 00f24754d591..3c8d07c89c8a 100644 --- a/tests/mir-opt/pre-codegen/clone_as_copy.rs +++ b/tests/mir-opt/pre-codegen/clone_as_copy.rs @@ -22,7 +22,7 @@ enum Enum1 { B(NestCopy), } -// EMIT_MIR clone_as_copy.clone_as_copy.PreCodegen.after.mir +// EMIT_MIR clone_as_copy.clone_as_copy.runtime-optimized.after.mir fn clone_as_copy(v: &NestCopy) -> NestCopy { // CHECK-LABEL: fn clone_as_copy( // CHECK: let [[DEAD_VAR:_.*]]: &AllCopy; @@ -33,7 +33,7 @@ fn clone_as_copy(v: &NestCopy) -> NestCopy { v.clone() } -// EMIT_MIR clone_as_copy.enum_clone_as_copy.PreCodegen.after.mir +// EMIT_MIR clone_as_copy.enum_clone_as_copy.runtime-optimized.after.mir fn enum_clone_as_copy(v: &Enum1) -> Enum1 { // CHECK-LABEL: fn enum_clone_as_copy( // CHECK: bb0: { diff --git a/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.direct.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.direct.runtime-optimized.after.mir similarity index 95% rename from tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.direct.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.direct.runtime-optimized.after.mir index 66b51ad48e7a..b1bbceae330c 100644 --- a/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.direct.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.direct.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `direct` after PreCodegen +// MIR for `direct` after runtime-optimized fn direct(_1: Option) -> bool { debug e => _1; diff --git a/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.rs b/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.rs index 3c1e96fa4748..0d8113e8b86f 100644 --- a/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.rs +++ b/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.rs @@ -10,7 +10,7 @@ use std::cmp::Ordering; -// EMIT_MIR const_promotion_option_ordering_eq.direct.PreCodegen.after.mir +// EMIT_MIR const_promotion_option_ordering_eq.direct.runtime-optimized.after.mir pub fn direct(e: Option) -> bool { // CHECK-LABEL: fn direct( // CHECK-NOT: promoted[ @@ -19,7 +19,7 @@ pub fn direct(e: Option) -> bool { e == Some(Ordering::Equal) } -// EMIT_MIR const_promotion_option_ordering_eq.with_let.PreCodegen.after.mir +// EMIT_MIR const_promotion_option_ordering_eq.with_let.runtime-optimized.after.mir pub fn with_let(e: Option) -> bool { // CHECK-LABEL: fn with_let( // CHECK-NOT: promoted[ diff --git a/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.with_let.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.with_let.runtime-optimized.after.mir similarity index 95% rename from tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.with_let.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.with_let.runtime-optimized.after.mir index f089e9ad960b..86ef69b9a4cd 100644 --- a/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.with_let.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/const_promotion_option_ordering_eq.with_let.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `with_let` after PreCodegen +// MIR for `with_let` after runtime-optimized fn with_let(_1: Option) -> bool { debug e => _1; diff --git a/tests/mir-opt/pre-codegen/dead_on_invalid_place.invalid_place.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/dead_on_invalid_place.invalid_place.runtime-optimized.after.mir similarity index 78% rename from tests/mir-opt/pre-codegen/dead_on_invalid_place.invalid_place.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/dead_on_invalid_place.invalid_place.runtime-optimized.after.mir index 4a2127178fb0..655305851b7e 100644 --- a/tests/mir-opt/pre-codegen/dead_on_invalid_place.invalid_place.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/dead_on_invalid_place.invalid_place.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `invalid_place` after PreCodegen +// MIR for `invalid_place` after runtime-optimized fn invalid_place(_1: bool) -> bool { debug c1_ref => _2; diff --git a/tests/mir-opt/pre-codegen/dead_on_invalid_place.rs b/tests/mir-opt/pre-codegen/dead_on_invalid_place.rs index 5abe9fa43a5d..30b6480391f5 100644 --- a/tests/mir-opt/pre-codegen/dead_on_invalid_place.rs +++ b/tests/mir-opt/pre-codegen/dead_on_invalid_place.rs @@ -3,7 +3,7 @@ use std::intrinsics::mir::*; -// EMIT_MIR dead_on_invalid_place.invalid_place.PreCodegen.after.mir +// EMIT_MIR dead_on_invalid_place.invalid_place.runtime-optimized.after.mir #[custom_mir(dialect = "runtime")] pub fn invalid_place(c: bool) -> bool { // CHECK-LABEL: fn invalid_place diff --git a/tests/mir-opt/pre-codegen/deref_nested_borrows.rs b/tests/mir-opt/pre-codegen/deref_nested_borrows.rs index 17a873a1c05e..a07f299fa29d 100644 --- a/tests/mir-opt/pre-codegen/deref_nested_borrows.rs +++ b/tests/mir-opt/pre-codegen/deref_nested_borrows.rs @@ -29,4 +29,4 @@ fn main() { } // EMIT_MIR deref_nested_borrows.src.GVN.diff -// EMIT_MIR deref_nested_borrows.src.PreCodegen.after.mir +// EMIT_MIR deref_nested_borrows.src.runtime-optimized.after.mir diff --git a/tests/mir-opt/pre-codegen/deref_nested_borrows.src.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/deref_nested_borrows.src.runtime-optimized.after.panic-abort.mir similarity index 93% rename from tests/mir-opt/pre-codegen/deref_nested_borrows.src.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/deref_nested_borrows.src.runtime-optimized.after.panic-abort.mir index 01eb41401da0..1385663e271d 100644 --- a/tests/mir-opt/pre-codegen/deref_nested_borrows.src.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/deref_nested_borrows.src.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `src` after PreCodegen +// MIR for `src` after runtime-optimized fn src(_1: &&u8) -> bool { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/deref_nested_borrows.src.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/deref_nested_borrows.src.runtime-optimized.after.panic-unwind.mir similarity index 93% rename from tests/mir-opt/pre-codegen/deref_nested_borrows.src.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/deref_nested_borrows.src.runtime-optimized.after.panic-unwind.mir index fb16da720be4..ef192696afdb 100644 --- a/tests/mir-opt/pre-codegen/deref_nested_borrows.src.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/deref_nested_borrows.src.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `src` after PreCodegen +// MIR for `src` after runtime-optimized fn src(_1: &&u8) -> bool { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/derived_ord.demo_le.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/derived_ord.demo_le.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/derived_ord.demo_le.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/derived_ord.demo_le.runtime-optimized.after.mir index 257b43050c3c..928c987b3476 100644 --- a/tests/mir-opt/pre-codegen/derived_ord.demo_le.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/derived_ord.demo_le.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `demo_le` after PreCodegen +// MIR for `demo_le` after runtime-optimized fn demo_le(_1: &MultiField, _2: &MultiField) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/derived_ord.rs b/tests/mir-opt/pre-codegen/derived_ord.rs index a67756c22d46..ee625603bcd9 100644 --- a/tests/mir-opt/pre-codegen/derived_ord.rs +++ b/tests/mir-opt/pre-codegen/derived_ord.rs @@ -33,5 +33,5 @@ pub fn demo_le(a: &MultiField, b: &MultiField) -> bool { *a <= *b } -// EMIT_MIR derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir -// EMIT_MIR derived_ord.demo_le.PreCodegen.after.mir +// EMIT_MIR derived_ord.{impl#0}-partial_cmp.runtime-optimized.after.mir +// EMIT_MIR derived_ord.demo_le.runtime-optimized.after.mir diff --git a/tests/mir-opt/pre-codegen/derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/derived_ord.{impl#0}-partial_cmp.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/derived_ord.{impl#0}-partial_cmp.runtime-optimized.after.mir index 5993bd79d274..e629576e52b5 100644 --- a/tests/mir-opt/pre-codegen/derived_ord.{impl#0}-partial_cmp.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/derived_ord.{impl#0}-partial_cmp.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `::partial_cmp` after PreCodegen +// MIR for `::partial_cmp` after runtime-optimized fn ::partial_cmp(_1: &MultiField, _2: &MultiField) -> Option { debug self => _1; diff --git a/tests/mir-opt/pre-codegen/derived_ord_debug.rs b/tests/mir-opt/pre-codegen/derived_ord_debug.rs index 1d6a884cee44..82851509d666 100644 --- a/tests/mir-opt/pre-codegen/derived_ord_debug.rs +++ b/tests/mir-opt/pre-codegen/derived_ord_debug.rs @@ -6,8 +6,8 @@ #[derive(PartialOrd, Ord, PartialEq, Eq)] pub struct MultiField(char, i16); -// EMIT_MIR derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.mir -// EMIT_MIR derived_ord_debug.{impl#1}-cmp.PreCodegen.after.mir +// EMIT_MIR derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.mir +// EMIT_MIR derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.mir // CHECK-LABEL: partial_cmp(_1: &MultiField, _2: &MultiField) -> Option // CHECK: = ::partial_cmp( diff --git a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.panic-abort.mir index 9fc8da3a1120..85f7e76eea8c 100644 --- a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `::partial_cmp` after PreCodegen +// MIR for `::partial_cmp` after runtime-optimized fn ::partial_cmp(_1: &MultiField, _2: &MultiField) -> Option { debug self => _1; diff --git a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.panic-unwind.mir index 29cc54150764..cca704662dd7 100644 --- a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#0}-partial_cmp.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `::partial_cmp` after PreCodegen +// MIR for `::partial_cmp` after runtime-optimized fn ::partial_cmp(_1: &MultiField, _2: &MultiField) -> Option { debug self => _1; diff --git a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.panic-abort.mir index 66d96021aa9b..004de976667d 100644 --- a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `::cmp` after PreCodegen +// MIR for `::cmp` after runtime-optimized fn ::cmp(_1: &MultiField, _2: &MultiField) -> std::cmp::Ordering { debug self => _1; diff --git a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.panic-unwind.mir index 2dcba6195f71..5df51f2b3f25 100644 --- a/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/derived_ord_debug.{impl#1}-cmp.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `::cmp` after PreCodegen +// MIR for `::cmp` after runtime-optimized fn ::cmp(_1: &MultiField, _2: &MultiField) -> std::cmp::Ordering { debug self => _1; diff --git a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.runtime-optimized.after.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.runtime-optimized.after.panic-abort.mir index 927564300150..8384d563e52d 100644 --- a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `drop_bytes` after PreCodegen +// MIR for `drop_bytes` after runtime-optimized fn drop_bytes(_1: *mut Box<[u8; 1024]>) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.runtime-optimized.after.panic-unwind.mir index 927564300150..8384d563e52d 100644 --- a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_bytes.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `drop_bytes` after PreCodegen +// MIR for `drop_bytes` after runtime-optimized fn drop_bytes(_1: *mut Box<[u8; 1024]>) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.runtime-optimized.after.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.runtime-optimized.after.panic-abort.mir index 27f6d77305ca..3d24aa8c349e 100644 --- a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `drop_generic` after PreCodegen +// MIR for `drop_generic` after runtime-optimized fn drop_generic(_1: *mut Box) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.runtime-optimized.after.panic-unwind.mir index 27f6d77305ca..3d24aa8c349e 100644 --- a/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/drop_box_of_sized.drop_generic.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `drop_generic` after PreCodegen +// MIR for `drop_generic` after runtime-optimized fn drop_generic(_1: *mut Box) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/drop_box_of_sized.rs b/tests/mir-opt/pre-codegen/drop_box_of_sized.rs index 3d340eb103a7..732223c4054a 100644 --- a/tests/mir-opt/pre-codegen/drop_box_of_sized.rs +++ b/tests/mir-opt/pre-codegen/drop_box_of_sized.rs @@ -3,7 +3,7 @@ #![crate_type = "lib"] -// EMIT_MIR drop_box_of_sized.drop_generic.PreCodegen.after.mir +// EMIT_MIR drop_box_of_sized.drop_generic.runtime-optimized.after.mir pub unsafe fn drop_generic(x: *mut Box) { // CHECK-LABEL: fn drop_generic // CHECK: [[ALIGNMENT:_.+]] = const ::ALIGN as std::mem::Alignment (Transmute) @@ -11,7 +11,7 @@ pub unsafe fn drop_generic(x: *mut Box) { std::ptr::drop_in_place(x) } -// EMIT_MIR drop_box_of_sized.drop_bytes.PreCodegen.after.mir +// EMIT_MIR drop_box_of_sized.drop_bytes.runtime-optimized.after.mir pub unsafe fn drop_bytes(x: *mut Box<[u8; 1024]>) { // CHECK-LABEL: fn drop_bytes // CHECK: alloc::alloc::__rust_dealloc({{.+}}, const 1024_usize, {{.+}}Align1Shl0 {{.+}}) diff --git a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-abort.mir b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.32bit.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-abort.mir rename to tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.32bit.panic-abort.mir index 004fd74da144..7c0cede85a4c 100644 --- a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.32bit.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `generic_in_place` after PreCodegen +// MIR for `generic_in_place` after runtime-optimized fn generic_in_place(_1: *mut Box<[T]>) -> () { debug ptr => _1; diff --git a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-abort.mir b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.32bit.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-abort.mir rename to tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.32bit.panic-unwind.mir index 004fd74da144..7c0cede85a4c 100644 --- a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.32bit.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `generic_in_place` after PreCodegen +// MIR for `generic_in_place` after runtime-optimized fn generic_in_place(_1: *mut Box<[T]>) -> () { debug ptr => _1; diff --git a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-unwind.mir b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.64bit.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-unwind.mir rename to tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.64bit.panic-abort.mir index 004fd74da144..7c0cede85a4c 100644 --- a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.64bit.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.64bit.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `generic_in_place` after PreCodegen +// MIR for `generic_in_place` after runtime-optimized fn generic_in_place(_1: *mut Box<[T]>) -> () { debug ptr => _1; diff --git a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-unwind.mir b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.64bit.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-unwind.mir rename to tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.64bit.panic-unwind.mir index 004fd74da144..7c0cede85a4c 100644 --- a/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.PreCodegen.after.32bit.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/drop_boxed_slice.generic_in_place.runtime-optimized.after.64bit.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `generic_in_place` after PreCodegen +// MIR for `generic_in_place` after runtime-optimized fn generic_in_place(_1: *mut Box<[T]>) -> () { debug ptr => _1; diff --git a/tests/mir-opt/pre-codegen/drop_boxed_slice.rs b/tests/mir-opt/pre-codegen/drop_boxed_slice.rs index 8f28bc712b4b..095f87723e1c 100644 --- a/tests/mir-opt/pre-codegen/drop_boxed_slice.rs +++ b/tests/mir-opt/pre-codegen/drop_boxed_slice.rs @@ -4,7 +4,7 @@ #![crate_type = "lib"] -// EMIT_MIR drop_boxed_slice.generic_in_place.PreCodegen.after.mir +// EMIT_MIR drop_boxed_slice.generic_in_place.runtime-optimized.after.mir pub unsafe fn generic_in_place(ptr: *mut Box<[T]>) { // CHECK-LABEL: fn generic_in_place(_1: *mut Box<[T]>) // CHECK: (inlined as Drop>::drop) diff --git a/tests/mir-opt/pre-codegen/duplicate_switch_targets.rs b/tests/mir-opt/pre-codegen/duplicate_switch_targets.rs index 58e59686de7f..07bc4795788e 100644 --- a/tests/mir-opt/pre-codegen/duplicate_switch_targets.rs +++ b/tests/mir-opt/pre-codegen/duplicate_switch_targets.rs @@ -8,7 +8,7 @@ pub enum Thing { B, } -// EMIT_MIR duplicate_switch_targets.ub_if_b.PreCodegen.after.mir +// EMIT_MIR duplicate_switch_targets.ub_if_b.runtime-optimized.after.mir pub unsafe fn ub_if_b(t: Thing) -> Thing { match t { Thing::A => t, diff --git a/tests/mir-opt/pre-codegen/duplicate_switch_targets.ub_if_b.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/duplicate_switch_targets.ub_if_b.runtime-optimized.after.mir similarity index 91% rename from tests/mir-opt/pre-codegen/duplicate_switch_targets.ub_if_b.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/duplicate_switch_targets.ub_if_b.runtime-optimized.after.mir index d08aa8456e7f..97ac547c6fea 100644 --- a/tests/mir-opt/pre-codegen/duplicate_switch_targets.ub_if_b.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/duplicate_switch_targets.ub_if_b.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `ub_if_b` after PreCodegen +// MIR for `ub_if_b` after runtime-optimized fn ub_if_b(_1: Thing) -> Thing { debug t => _1; diff --git a/tests/mir-opt/pre-codegen/intrinsics.f_u64.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/intrinsics.f_u64.runtime-optimized.after.mir similarity index 87% rename from tests/mir-opt/pre-codegen/intrinsics.f_u64.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/intrinsics.f_u64.runtime-optimized.after.mir index 1109da31d958..0a5fa6daa928 100644 --- a/tests/mir-opt/pre-codegen/intrinsics.f_u64.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/intrinsics.f_u64.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `f_u64` after PreCodegen +// MIR for `f_u64` after runtime-optimized fn f_u64() -> () { let mut _0: (); diff --git a/tests/mir-opt/pre-codegen/intrinsics.f_unit.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/intrinsics.f_unit.runtime-optimized.after.mir similarity index 87% rename from tests/mir-opt/pre-codegen/intrinsics.f_unit.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/intrinsics.f_unit.runtime-optimized.after.mir index 2768c2bb2d7b..7c35963169d7 100644 --- a/tests/mir-opt/pre-codegen/intrinsics.f_unit.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/intrinsics.f_unit.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `f_unit` after PreCodegen +// MIR for `f_unit` after runtime-optimized fn f_unit() -> () { let mut _0: (); diff --git a/tests/mir-opt/pre-codegen/intrinsics.rs b/tests/mir-opt/pre-codegen/intrinsics.rs index 42200e0b87fc..32a859d5c406 100644 --- a/tests/mir-opt/pre-codegen/intrinsics.rs +++ b/tests/mir-opt/pre-codegen/intrinsics.rs @@ -7,12 +7,12 @@ #![feature(core_intrinsics)] #![crate_type = "lib"] -// EMIT_MIR intrinsics.f_unit.PreCodegen.after.mir +// EMIT_MIR intrinsics.f_unit.runtime-optimized.after.mir pub fn f_unit() { f_dispatch(()); } -// EMIT_MIR intrinsics.f_u64.PreCodegen.after.mir +// EMIT_MIR intrinsics.f_u64.runtime-optimized.after.mir pub fn f_u64() { f_dispatch(0u64); } diff --git a/tests/mir-opt/pre-codegen/loops.filter_mapped.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/loops.filter_mapped.runtime-optimized.after.mir similarity index 97% rename from tests/mir-opt/pre-codegen/loops.filter_mapped.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/loops.filter_mapped.runtime-optimized.after.mir index 6921827c599b..b3d38472a6a7 100644 --- a/tests/mir-opt/pre-codegen/loops.filter_mapped.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/loops.filter_mapped.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `filter_mapped` after PreCodegen +// MIR for `filter_mapped` after runtime-optimized fn filter_mapped(_1: impl Iterator, _2: impl Fn(T) -> Option) -> () { debug iter => _1; diff --git a/tests/mir-opt/pre-codegen/loops.int_range.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/loops.int_range.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/loops.int_range.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/loops.int_range.runtime-optimized.after.mir index 49b373afdd38..cd146079c632 100644 --- a/tests/mir-opt/pre-codegen/loops.int_range.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/loops.int_range.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `int_range` after PreCodegen +// MIR for `int_range` after runtime-optimized fn int_range(_1: usize, _2: usize) -> () { debug start => _1; diff --git a/tests/mir-opt/pre-codegen/loops.mapped.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/loops.mapped.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/loops.mapped.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/loops.mapped.runtime-optimized.after.mir index c65b94a3e2a2..f7c294bc1feb 100644 --- a/tests/mir-opt/pre-codegen/loops.mapped.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/loops.mapped.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `mapped` after PreCodegen +// MIR for `mapped` after runtime-optimized fn mapped(_1: impl Iterator, _2: impl Fn(T) -> U) -> () { debug iter => _1; diff --git a/tests/mir-opt/pre-codegen/loops.rs b/tests/mir-opt/pre-codegen/loops.rs index 281595f165be..ae2d63fe6736 100644 --- a/tests/mir-opt/pre-codegen/loops.rs +++ b/tests/mir-opt/pre-codegen/loops.rs @@ -32,7 +32,7 @@ pub fn vec_move(mut v: Vec) { #[inline(never)] fn opaque(_: impl Sized) {} -// EMIT_MIR loops.int_range.PreCodegen.after.mir -// EMIT_MIR loops.mapped.PreCodegen.after.mir -// EMIT_MIR loops.filter_mapped.PreCodegen.after.mir -// EMIT_MIR loops.vec_move.PreCodegen.after.mir +// EMIT_MIR loops.int_range.runtime-optimized.after.mir +// EMIT_MIR loops.mapped.runtime-optimized.after.mir +// EMIT_MIR loops.filter_mapped.runtime-optimized.after.mir +// EMIT_MIR loops.vec_move.runtime-optimized.after.mir diff --git a/tests/mir-opt/pre-codegen/loops.vec_move.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/loops.vec_move.runtime-optimized.after.mir similarity index 99% rename from tests/mir-opt/pre-codegen/loops.vec_move.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/loops.vec_move.runtime-optimized.after.mir index 5d22791eaa89..a49688ae891d 100644 --- a/tests/mir-opt/pre-codegen/loops.vec_move.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/loops.vec_move.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `vec_move` after PreCodegen +// MIR for `vec_move` after runtime-optimized fn vec_move(_1: Vec) -> () { debug v => _1; diff --git a/tests/mir-opt/pre-codegen/matchbr.match1.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/matchbr.match1.runtime-optimized.after.mir similarity index 81% rename from tests/mir-opt/pre-codegen/matchbr.match1.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/matchbr.match1.runtime-optimized.after.mir index 3a202728ea91..7a3d2dd6d095 100644 --- a/tests/mir-opt/pre-codegen/matchbr.match1.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/matchbr.match1.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `match1` after PreCodegen +// MIR for `match1` after runtime-optimized fn match1(_1: bool, _2: i32, _3: i32) -> i32 { debug c => _1; diff --git a/tests/mir-opt/pre-codegen/matchbr.rs b/tests/mir-opt/pre-codegen/matchbr.rs index 1822739da2c7..621f4249a67d 100644 --- a/tests/mir-opt/pre-codegen/matchbr.rs +++ b/tests/mir-opt/pre-codegen/matchbr.rs @@ -1,6 +1,6 @@ #![crate_type = "lib"] -// EMIT_MIR matchbr.match1.PreCodegen.after.mir +// EMIT_MIR matchbr.match1.runtime-optimized.after.mir pub fn match1(c: bool, v1: i32, v2: i32) -> i32 { // CHECK-LABEL: fn match1( // CHECK: bb0: diff --git a/tests/mir-opt/pre-codegen/matches_macro.issue_77355_opt.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/matches_macro.issue_77355_opt.runtime-optimized.after.mir similarity index 87% rename from tests/mir-opt/pre-codegen/matches_macro.issue_77355_opt.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/matches_macro.issue_77355_opt.runtime-optimized.after.mir index 2d6f82f6137f..12e25e96d923 100644 --- a/tests/mir-opt/pre-codegen/matches_macro.issue_77355_opt.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/matches_macro.issue_77355_opt.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `issue_77355_opt` after PreCodegen +// MIR for `issue_77355_opt` after runtime-optimized fn issue_77355_opt(_1: Foo) -> u64 { debug num => _1; diff --git a/tests/mir-opt/pre-codegen/matches_macro.rs b/tests/mir-opt/pre-codegen/matches_macro.rs index 42de22965718..e354ab9fbb10 100644 --- a/tests/mir-opt/pre-codegen/matches_macro.rs +++ b/tests/mir-opt/pre-codegen/matches_macro.rs @@ -10,7 +10,7 @@ pub enum Foo { F, } -// EMIT_MIR matches_macro.issue_77355_opt.PreCodegen.after.mir +// EMIT_MIR matches_macro.issue_77355_opt.runtime-optimized.after.mir fn issue_77355_opt(num: Foo) -> u64 { // CHECK-LABEL: fn issue_77355_opt( // CHECK: switchInt({{.*}}) -> [1: bb1, 2: bb1, otherwise: bb2]; diff --git a/tests/mir-opt/pre-codegen/mem_replace.manual_replace.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/mem_replace.manual_replace.runtime-optimized.after.panic-abort.mir similarity index 82% rename from tests/mir-opt/pre-codegen/mem_replace.manual_replace.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/mem_replace.manual_replace.runtime-optimized.after.panic-abort.mir index c10f3c429627..187917c67872 100644 --- a/tests/mir-opt/pre-codegen/mem_replace.manual_replace.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/mem_replace.manual_replace.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `manual_replace` after PreCodegen +// MIR for `manual_replace` after runtime-optimized fn manual_replace(_1: &mut u32, _2: u32) -> u32 { debug r => _1; diff --git a/tests/mir-opt/pre-codegen/mem_replace.manual_replace.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/mem_replace.manual_replace.runtime-optimized.after.panic-unwind.mir similarity index 82% rename from tests/mir-opt/pre-codegen/mem_replace.manual_replace.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/mem_replace.manual_replace.runtime-optimized.after.panic-unwind.mir index c10f3c429627..187917c67872 100644 --- a/tests/mir-opt/pre-codegen/mem_replace.manual_replace.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/mem_replace.manual_replace.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `manual_replace` after PreCodegen +// MIR for `manual_replace` after runtime-optimized fn manual_replace(_1: &mut u32, _2: u32) -> u32 { debug r => _1; diff --git a/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/mem_replace.mem_replace.runtime-optimized.after.panic-abort.mir similarity index 84% rename from tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/mem_replace.mem_replace.runtime-optimized.after.panic-abort.mir index 958a06bcd34f..5475e4b76ef9 100644 --- a/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/mem_replace.mem_replace.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `mem_replace` after PreCodegen +// MIR for `mem_replace` after runtime-optimized fn mem_replace(_1: &mut u32, _2: u32) -> u32 { debug r => _1; diff --git a/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/mem_replace.mem_replace.runtime-optimized.after.panic-unwind.mir similarity index 84% rename from tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/mem_replace.mem_replace.runtime-optimized.after.panic-unwind.mir index 958a06bcd34f..5475e4b76ef9 100644 --- a/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/mem_replace.mem_replace.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `mem_replace` after PreCodegen +// MIR for `mem_replace` after runtime-optimized fn mem_replace(_1: &mut u32, _2: u32) -> u32 { debug r => _1; diff --git a/tests/mir-opt/pre-codegen/mem_replace.rs b/tests/mir-opt/pre-codegen/mem_replace.rs index 750a7907c15e..d2474d954dc1 100644 --- a/tests/mir-opt/pre-codegen/mem_replace.rs +++ b/tests/mir-opt/pre-codegen/mem_replace.rs @@ -6,14 +6,14 @@ #![crate_type = "lib"] -// EMIT_MIR mem_replace.manual_replace.PreCodegen.after.mir +// EMIT_MIR mem_replace.manual_replace.runtime-optimized.after.mir pub fn manual_replace(r: &mut u32, v: u32) -> u32 { let temp = *r; *r = v; temp } -// EMIT_MIR mem_replace.mem_replace.PreCodegen.after.mir +// EMIT_MIR mem_replace.mem_replace.runtime-optimized.after.mir pub fn mem_replace(r: &mut u32, v: u32) -> u32 { std::mem::replace(r, v) } diff --git a/tests/mir-opt/pre-codegen/no_inlined_clone.rs b/tests/mir-opt/pre-codegen/no_inlined_clone.rs index 475b230b4652..b86fe21716fc 100644 --- a/tests/mir-opt/pre-codegen/no_inlined_clone.rs +++ b/tests/mir-opt/pre-codegen/no_inlined_clone.rs @@ -1,6 +1,6 @@ #![crate_type = "lib"] -// EMIT_MIR no_inlined_clone.{impl#0}-clone.PreCodegen.after.mir +// EMIT_MIR no_inlined_clone.{impl#0}-clone.runtime-optimized.after.mir // CHECK-LABEL: ::clone( // CHECK-NOT: inlined clone::impls::::clone diff --git a/tests/mir-opt/pre-codegen/no_inlined_clone.{impl#0}-clone.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/no_inlined_clone.{impl#0}-clone.runtime-optimized.after.mir similarity index 90% rename from tests/mir-opt/pre-codegen/no_inlined_clone.{impl#0}-clone.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/no_inlined_clone.{impl#0}-clone.runtime-optimized.after.mir index 9020cf1ef37f..6361b9f9be6a 100644 --- a/tests/mir-opt/pre-codegen/no_inlined_clone.{impl#0}-clone.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/no_inlined_clone.{impl#0}-clone.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `::clone` after PreCodegen +// MIR for `::clone` after runtime-optimized fn ::clone(_1: &Foo) -> Foo { debug self => _1; diff --git a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.64bit.panic-unwind.mir b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.32bit.panic-abort.mir similarity index 86% rename from tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.64bit.panic-unwind.mir rename to tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.32bit.panic-abort.mir index 681dadff302b..1be0cd30068e 100644 --- a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.64bit.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.32bit.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `main` after PreCodegen +// MIR for `main` after runtime-optimized fn main() -> () { let mut _0: (); diff --git a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.32bit.panic-unwind.mir b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.32bit.panic-unwind.mir similarity index 86% rename from tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.32bit.panic-unwind.mir rename to tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.32bit.panic-unwind.mir index 681dadff302b..1be0cd30068e 100644 --- a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.32bit.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.32bit.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `main` after PreCodegen +// MIR for `main` after runtime-optimized fn main() -> () { let mut _0: (); diff --git a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.32bit.panic-abort.mir b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.64bit.panic-abort.mir similarity index 86% rename from tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.32bit.panic-abort.mir rename to tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.64bit.panic-abort.mir index 681dadff302b..1be0cd30068e 100644 --- a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.32bit.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.64bit.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `main` after PreCodegen +// MIR for `main` after runtime-optimized fn main() -> () { let mut _0: (); diff --git a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.64bit.panic-abort.mir b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.64bit.panic-unwind.mir similarity index 86% rename from tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.64bit.panic-abort.mir rename to tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.64bit.panic-unwind.mir index 681dadff302b..1be0cd30068e 100644 --- a/tests/mir-opt/pre-codegen/optimizes_into_variable.main.PreCodegen.after.64bit.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/optimizes_into_variable.main.runtime-optimized.after.64bit.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `main` after PreCodegen +// MIR for `main` after runtime-optimized fn main() -> () { let mut _0: (); diff --git a/tests/mir-opt/pre-codegen/optimizes_into_variable.rs b/tests/mir-opt/pre-codegen/optimizes_into_variable.rs index 6fb71bda9b44..dd94475bd4c9 100644 --- a/tests/mir-opt/pre-codegen/optimizes_into_variable.rs +++ b/tests/mir-opt/pre-codegen/optimizes_into_variable.rs @@ -11,7 +11,7 @@ struct Point { // EMIT_MIR optimizes_into_variable.main.ScalarReplacementOfAggregates.diff // EMIT_MIR optimizes_into_variable.main.GVN.diff // EMIT_MIR optimizes_into_variable.main.SimplifyLocals-final.after.mir -// EMIT_MIR optimizes_into_variable.main.PreCodegen.after.mir +// EMIT_MIR optimizes_into_variable.main.runtime-optimized.after.mir fn main() { let x = 2 + 2; let y = [0, 1, 2, 3, 4, 5][3]; diff --git a/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.runtime-optimized.after.panic-abort.mir similarity index 92% rename from tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.runtime-optimized.after.panic-abort.mir index b29662dfa613..5a4bdce1eb23 100644 --- a/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `option_direct` after PreCodegen +// MIR for `option_direct` after runtime-optimized fn option_direct(_1: Option) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.runtime-optimized.after.panic-unwind.mir similarity index 92% rename from tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.runtime-optimized.after.panic-unwind.mir index b29662dfa613..5a4bdce1eb23 100644 --- a/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/option_bubble_debug.option_direct.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `option_direct` after PreCodegen +// MIR for `option_direct` after runtime-optimized fn option_direct(_1: Option) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.runtime-optimized.after.panic-abort.mir similarity index 95% rename from tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.runtime-optimized.after.panic-abort.mir index 55f44d954d80..26ccbb7d89fd 100644 --- a/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `option_traits` after PreCodegen +// MIR for `option_traits` after runtime-optimized fn option_traits(_1: Option) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.runtime-optimized.after.panic-unwind.mir similarity index 95% rename from tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.runtime-optimized.after.panic-unwind.mir index b42aea38d3e3..c9cb25b647ef 100644 --- a/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/option_bubble_debug.option_traits.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `option_traits` after PreCodegen +// MIR for `option_traits` after runtime-optimized fn option_traits(_1: Option) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/option_bubble_debug.rs b/tests/mir-opt/pre-codegen/option_bubble_debug.rs index b9bf78a1d6ec..96d4b412efba 100644 --- a/tests/mir-opt/pre-codegen/option_bubble_debug.rs +++ b/tests/mir-opt/pre-codegen/option_bubble_debug.rs @@ -5,7 +5,7 @@ #![crate_type = "lib"] #![feature(try_blocks)] -// EMIT_MIR option_bubble_debug.option_direct.PreCodegen.after.mir +// EMIT_MIR option_bubble_debug.option_direct.runtime-optimized.after.mir pub fn option_direct(x: Option) -> Option { // CHECK-LABEL: fn option_direct(_1: Option) -> Option // CHECK: = discriminant(_1); @@ -18,7 +18,7 @@ pub fn option_direct(x: Option) -> Option { } } -// EMIT_MIR option_bubble_debug.option_traits.PreCodegen.after.mir +// EMIT_MIR option_bubble_debug.option_traits.runtime-optimized.after.mir pub fn option_traits(x: Option) -> Option { // CHECK-LABEL: fn option_traits(_1: Option) -> Option // CHECK: = as Try>::branch(copy _1) diff --git a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.runtime-optimized.after.panic-abort.mir similarity index 95% rename from tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.runtime-optimized.after.panic-abort.mir index a6dad00bbdb1..1b53ef91b342 100644 --- a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `demo_byte_add_fat` after PreCodegen +// MIR for `demo_byte_add_fat` after runtime-optimized fn demo_byte_add_fat(_1: *const [u32], _2: usize) -> *const [u32] { debug p => _1; diff --git a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.runtime-optimized.after.panic-unwind.mir similarity index 95% rename from tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.runtime-optimized.after.panic-unwind.mir index a6dad00bbdb1..1b53ef91b342 100644 --- a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_fat.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `demo_byte_add_fat` after PreCodegen +// MIR for `demo_byte_add_fat` after runtime-optimized fn demo_byte_add_fat(_1: *const [u32], _2: usize) -> *const [u32] { debug p => _1; diff --git a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.runtime-optimized.after.panic-abort.mir similarity index 94% rename from tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.runtime-optimized.after.panic-abort.mir index cb7f15657463..8d026782963f 100644 --- a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `demo_byte_add_thin` after PreCodegen +// MIR for `demo_byte_add_thin` after runtime-optimized fn demo_byte_add_thin(_1: *const u32, _2: usize) -> *const u32 { debug p => _1; diff --git a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.runtime-optimized.after.panic-unwind.mir similarity index 94% rename from tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.runtime-optimized.after.panic-unwind.mir index cb7f15657463..8d026782963f 100644 --- a/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/ptr_offset.demo_byte_add_thin.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `demo_byte_add_thin` after PreCodegen +// MIR for `demo_byte_add_thin` after runtime-optimized fn demo_byte_add_thin(_1: *const u32, _2: usize) -> *const u32 { debug p => _1; diff --git a/tests/mir-opt/pre-codegen/ptr_offset.rs b/tests/mir-opt/pre-codegen/ptr_offset.rs index 1e936222a2dd..ddeec5d79c65 100644 --- a/tests/mir-opt/pre-codegen/ptr_offset.rs +++ b/tests/mir-opt/pre-codegen/ptr_offset.rs @@ -5,12 +5,12 @@ #![crate_type = "lib"] -// EMIT_MIR ptr_offset.demo_byte_add_thin.PreCodegen.after.mir +// EMIT_MIR ptr_offset.demo_byte_add_thin.runtime-optimized.after.mir pub unsafe fn demo_byte_add_thin(p: *const u32, n: usize) -> *const u32 { p.byte_add(n) } -// EMIT_MIR ptr_offset.demo_byte_add_fat.PreCodegen.after.mir +// EMIT_MIR ptr_offset.demo_byte_add_fat.runtime-optimized.after.mir pub unsafe fn demo_byte_add_fat(p: *const [u32], n: usize) -> *const [u32] { p.byte_add(n) } diff --git a/tests/mir-opt/pre-codegen/range_iter.forward_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/range_iter.forward_loop.runtime-optimized.after.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/range_iter.forward_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/range_iter.forward_loop.runtime-optimized.after.panic-abort.mir index d107a37da0fe..47c78d4e8013 100644 --- a/tests/mir-opt/pre-codegen/range_iter.forward_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/range_iter.forward_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `forward_loop` after PreCodegen +// MIR for `forward_loop` after runtime-optimized fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () { debug start => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.forward_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/range_iter.forward_loop.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/range_iter.forward_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/range_iter.forward_loop.runtime-optimized.after.panic-unwind.mir index 207dde62f7d6..5dfcba18be02 100644 --- a/tests/mir-opt/pre-codegen/range_iter.forward_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/range_iter.forward_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `forward_loop` after PreCodegen +// MIR for `forward_loop` after runtime-optimized fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () { debug start => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/range_iter.inclusive_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/range_iter.inclusive_loop.runtime-optimized.after.panic-abort.mir index 63d9b1d1d003..5e1291f71663 100644 --- a/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `inclusive_loop` after PreCodegen +// MIR for `inclusive_loop` after runtime-optimized fn inclusive_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () { debug start => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/range_iter.inclusive_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/range_iter.inclusive_loop.runtime-optimized.after.panic-unwind.mir index 33c9b492c5f1..2e82343e4443 100644 --- a/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/range_iter.inclusive_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `inclusive_loop` after PreCodegen +// MIR for `inclusive_loop` after runtime-optimized fn inclusive_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () { debug start => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.runtime-optimized.after.panic-abort.mir similarity index 87% rename from tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.runtime-optimized.after.panic-abort.mir index 13969e5d2385..aaf54ccf7e9f 100644 --- a/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `range_inclusive_iter_next` after PreCodegen +// MIR for `range_inclusive_iter_next` after runtime-optimized fn range_inclusive_iter_next(_1: &mut std::ops::RangeInclusive) -> Option { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.runtime-optimized.after.panic-unwind.mir similarity index 87% rename from tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.runtime-optimized.after.panic-unwind.mir index 98cd58284dfa..127912b37da6 100644 --- a/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/range_iter.range_inclusive_iter_next.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `range_inclusive_iter_next` after PreCodegen +// MIR for `range_inclusive_iter_next` after runtime-optimized fn range_inclusive_iter_next(_1: &mut std::ops::RangeInclusive) -> Option { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/range_iter.range_iter_next.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/range_iter.range_iter_next.runtime-optimized.after.panic-abort.mir index 55caea9d8f96..6cd78c56db99 100644 --- a/tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/range_iter.range_iter_next.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `range_iter_next` after PreCodegen +// MIR for `range_iter_next` after runtime-optimized fn range_iter_next(_1: &mut std::ops::Range) -> Option { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/range_iter.range_iter_next.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/range_iter.range_iter_next.runtime-optimized.after.panic-unwind.mir index 55caea9d8f96..6cd78c56db99 100644 --- a/tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/range_iter.range_iter_next.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `range_iter_next` after PreCodegen +// MIR for `range_iter_next` after runtime-optimized fn range_iter_next(_1: &mut std::ops::Range) -> Option { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/range_iter.rs b/tests/mir-opt/pre-codegen/range_iter.rs index 856d57cd6e4f..79a97f0ad2c1 100644 --- a/tests/mir-opt/pre-codegen/range_iter.rs +++ b/tests/mir-opt/pre-codegen/range_iter.rs @@ -6,24 +6,24 @@ use std::ops::{Range, RangeInclusive}; -// EMIT_MIR range_iter.range_iter_next.PreCodegen.after.mir +// EMIT_MIR range_iter.range_iter_next.runtime-optimized.after.mir pub fn range_iter_next(it: &mut Range) -> Option { it.next() } -// EMIT_MIR range_iter.range_inclusive_iter_next.PreCodegen.after.mir +// EMIT_MIR range_iter.range_inclusive_iter_next.runtime-optimized.after.mir pub fn range_inclusive_iter_next(it: &mut RangeInclusive) -> Option { it.next() } -// EMIT_MIR range_iter.forward_loop.PreCodegen.after.mir +// EMIT_MIR range_iter.forward_loop.runtime-optimized.after.mir pub fn forward_loop(start: u32, end: u32, f: impl Fn(u32)) { for x in start..end { f(x) } } -// EMIT_MIR range_iter.inclusive_loop.PreCodegen.after.mir +// EMIT_MIR range_iter.inclusive_loop.runtime-optimized.after.mir pub fn inclusive_loop(start: u32, end: u32, f: impl Fn(u32)) { for x in start..=end { f(x) diff --git a/tests/mir-opt/pre-codegen/simple_option_map.ezmap.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/simple_option_map.ezmap.runtime-optimized.after.mir similarity index 96% rename from tests/mir-opt/pre-codegen/simple_option_map.ezmap.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/simple_option_map.ezmap.runtime-optimized.after.mir index 876fa96dfb6f..273f7bfafa2c 100644 --- a/tests/mir-opt/pre-codegen/simple_option_map.ezmap.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/simple_option_map.ezmap.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `ezmap` after PreCodegen +// MIR for `ezmap` after runtime-optimized fn ezmap(_1: Option) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/simple_option_map.map_via_question_mark.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/simple_option_map.map_via_question_mark.runtime-optimized.after.mir similarity index 97% rename from tests/mir-opt/pre-codegen/simple_option_map.map_via_question_mark.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/simple_option_map.map_via_question_mark.runtime-optimized.after.mir index ff0396b168f8..26648a3173d6 100644 --- a/tests/mir-opt/pre-codegen/simple_option_map.map_via_question_mark.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/simple_option_map.map_via_question_mark.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `map_via_question_mark` after PreCodegen +// MIR for `map_via_question_mark` after runtime-optimized fn map_via_question_mark(_1: Option) -> Option { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/simple_option_map.rs b/tests/mir-opt/pre-codegen/simple_option_map.rs index f0d7b51a6439..8f3ea6f0ae28 100644 --- a/tests/mir-opt/pre-codegen/simple_option_map.rs +++ b/tests/mir-opt/pre-codegen/simple_option_map.rs @@ -11,7 +11,7 @@ fn map(slf: Option, f: F) -> Option } } -// EMIT_MIR simple_option_map.ezmap.PreCodegen.after.mir +// EMIT_MIR simple_option_map.ezmap.runtime-optimized.after.mir pub fn ezmap(x: Option) -> Option { // We expect this to all be inlined, as though it was written without the // combinator and without the closure, using just a plain match. @@ -23,7 +23,7 @@ pub fn ezmap(x: Option) -> Option { map(x, |n| n + 1) } -// EMIT_MIR simple_option_map.map_via_question_mark.PreCodegen.after.mir +// EMIT_MIR simple_option_map.map_via_question_mark.runtime-optimized.after.mir pub fn map_via_question_mark(x: Option) -> Option { // FIXME(#138544): Ideally this would optimize out the `ControlFlow` local. diff --git a/tests/mir-opt/pre-codegen/slice_filter.rs b/tests/mir-opt/pre-codegen/slice_filter.rs index a6f4a52075df..053830b3e47f 100644 --- a/tests/mir-opt/pre-codegen/slice_filter.rs +++ b/tests/mir-opt/pre-codegen/slice_filter.rs @@ -11,5 +11,5 @@ pub fn variant_b(input: &[(usize, usize, usize, usize)]) -> usize { input.iter().filter(|&&(a, b, c, d)| a <= c && d <= b || c <= a && b <= d).count() } -// EMIT_MIR slice_filter.variant_a-{closure#0}.PreCodegen.after.mir -// EMIT_MIR slice_filter.variant_b-{closure#0}.PreCodegen.after.mir +// EMIT_MIR slice_filter.variant_a-{closure#0}.runtime-optimized.after.mir +// EMIT_MIR slice_filter.variant_b-{closure#0}.runtime-optimized.after.mir diff --git a/tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.runtime-optimized.after.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.runtime-optimized.after.mir index 690325d87936..d4ba112510aa 100644 --- a/tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `variant_a::{closure#0}` after PreCodegen +// MIR for `variant_a::{closure#0}` after runtime-optimized fn variant_a::{closure#0}(_1: &mut {closure@$DIR/slice_filter.rs:7:25: 7:39}, _2: &&(usize, usize, usize, usize)) -> bool { let mut _0: bool; diff --git a/tests/mir-opt/pre-codegen/slice_filter.variant_b-{closure#0}.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/slice_filter.variant_b-{closure#0}.runtime-optimized.after.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_filter.variant_b-{closure#0}.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/slice_filter.variant_b-{closure#0}.runtime-optimized.after.mir index 05549e857c1a..47ea0fb694c8 100644 --- a/tests/mir-opt/pre-codegen/slice_filter.variant_b-{closure#0}.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/slice_filter.variant_b-{closure#0}.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `variant_b::{closure#0}` after PreCodegen +// MIR for `variant_b::{closure#0}` after runtime-optimized fn variant_b::{closure#0}(_1: &mut {closure@$DIR/slice_filter.rs:11:25: 11:41}, _2: &&(usize, usize, usize, usize)) -> bool { let mut _0: bool; diff --git a/tests/mir-opt/pre-codegen/slice_index.rs b/tests/mir-opt/pre-codegen/slice_index.rs index 5dac535d195a..52bdd0f67825 100644 --- a/tests/mir-opt/pre-codegen/slice_index.rs +++ b/tests/mir-opt/pre-codegen/slice_index.rs @@ -6,7 +6,7 @@ use std::ops::Range; -// EMIT_MIR slice_index.slice_index_usize.PreCodegen.after.mir +// EMIT_MIR slice_index.slice_index_usize.runtime-optimized.after.mir pub fn slice_index_usize(slice: &[u32], index: usize) -> u32 { // CHECK-LABEL: slice_index_usize // CHECK: [[LEN:_[0-9]+]] = PtrMetadata(copy _1) @@ -16,7 +16,7 @@ pub fn slice_index_usize(slice: &[u32], index: usize) -> u32 { slice[index] } -// EMIT_MIR slice_index.slice_get_mut_usize.PreCodegen.after.mir +// EMIT_MIR slice_index.slice_get_mut_usize.runtime-optimized.after.mir pub fn slice_get_mut_usize(slice: &mut [u32], index: usize) -> Option<&mut u32> { // CHECK-LABEL: slice_get_mut_usize // CHECK: [[LEN:_[0-9]+]] = PtrMetadata(copy _1) @@ -25,13 +25,13 @@ pub fn slice_get_mut_usize(slice: &mut [u32], index: usize) -> Option<&mut u32> slice.get_mut(index) } -// EMIT_MIR slice_index.slice_index_range.PreCodegen.after.mir +// EMIT_MIR slice_index.slice_index_range.runtime-optimized.after.mir pub fn slice_index_range(slice: &[u32], index: Range) -> &[u32] { // CHECK-LABEL: slice_index_range &slice[index] } -// EMIT_MIR slice_index.slice_get_unchecked_mut_range.PreCodegen.after.mir +// EMIT_MIR slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.mir pub unsafe fn slice_get_unchecked_mut_range(slice: &mut [u32], index: Range) -> &mut [u32] { // CHECK-LABEL: slice_get_unchecked_mut_range // CHECK: [[START:_[0-9]+]] = move (_2.0: usize); @@ -44,7 +44,7 @@ pub unsafe fn slice_get_unchecked_mut_range(slice: &mut [u32], index: Range, diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.runtime-optimized.after.panic-abort.mir similarity index 94% rename from tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.runtime-optimized.after.panic-abort.mir index ebe8b23354be..8ab6ef6109f0 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_get_mut_usize` after PreCodegen +// MIR for `slice_get_mut_usize` after runtime-optimized fn slice_get_mut_usize(_1: &mut [u32], _2: usize) -> Option<&mut u32> { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.runtime-optimized.after.panic-unwind.mir similarity index 94% rename from tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.runtime-optimized.after.panic-unwind.mir index ebe8b23354be..8ab6ef6109f0 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_get_mut_usize.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_get_mut_usize` after PreCodegen +// MIR for `slice_get_mut_usize` after runtime-optimized fn slice_get_mut_usize(_1: &mut [u32], _2: usize) -> Option<&mut u32> { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.panic-abort.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.panic-abort.mir index 67194ea7225f..9ce88f4bd299 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_get_unchecked_mut_range` after PreCodegen +// MIR for `slice_get_unchecked_mut_range` after runtime-optimized fn slice_get_unchecked_mut_range(_1: &mut [u32], _2: std::ops::Range) -> &mut [u32] { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.panic-unwind.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.panic-unwind.mir index 67194ea7225f..9ce88f4bd299 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_get_unchecked_mut_range` after PreCodegen +// MIR for `slice_get_unchecked_mut_range` after runtime-optimized fn slice_get_unchecked_mut_range(_1: &mut [u32], _2: std::ops::Range) -> &mut [u32] { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_index_range.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_index.slice_index_range.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/slice_index.slice_index_range.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_index_range.runtime-optimized.after.panic-abort.mir index ed82be1bac33..1d8c44fa4e2a 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_index_range.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_index_range.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_index_range` after PreCodegen +// MIR for `slice_index_range` after runtime-optimized fn slice_index_range(_1: &[u32], _2: std::ops::Range) -> &[u32] { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_index_range.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_index.slice_index_range.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/slice_index.slice_index_range.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_index_range.runtime-optimized.after.panic-unwind.mir index cf2b8d664708..e66ee3581da2 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_index_range.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_index_range.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_index_range` after PreCodegen +// MIR for `slice_index_range` after runtime-optimized fn slice_index_range(_1: &[u32], _2: std::ops::Range) -> &[u32] { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.runtime-optimized.after.panic-abort.mir similarity index 89% rename from tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_index_usize.runtime-optimized.after.panic-abort.mir index 81e60b8ec2ca..a7984bfeb748 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_index_usize` after PreCodegen +// MIR for `slice_index_usize` after runtime-optimized fn slice_index_usize(_1: &[u32], _2: usize) -> u32 { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.runtime-optimized.after.panic-unwind.mir similarity index 89% rename from tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_index_usize.runtime-optimized.after.panic-unwind.mir index c0fdc839608d..de419769fcf2 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_index_usize` after PreCodegen +// MIR for `slice_index_usize` after runtime-optimized fn slice_index_usize(_1: &[u32], _2: usize) -> u32 { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.runtime-optimized.after.panic-abort.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.runtime-optimized.after.panic-abort.mir index 21bc3bcc07c4..276fe6a9f679 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_ptr_get_unchecked_range` after PreCodegen +// MIR for `slice_ptr_get_unchecked_range` after runtime-optimized fn slice_ptr_get_unchecked_range(_1: *const [u32], _2: std::ops::Range) -> *const [u32] { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.runtime-optimized.after.panic-unwind.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.runtime-optimized.after.panic-unwind.mir index 21bc3bcc07c4..276fe6a9f679 100644 --- a/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_index.slice_ptr_get_unchecked_range.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_ptr_get_unchecked_range` after PreCodegen +// MIR for `slice_ptr_get_unchecked_range` after runtime-optimized fn slice_ptr_get_unchecked_range(_1: *const [u32], _2: std::ops::Range) -> *const [u32] { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.runtime-optimized.after.panic-abort.mir similarity index 99% rename from tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.runtime-optimized.after.panic-abort.mir index 575659e6d0de..fc254be26474 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `enumerated_loop` after PreCodegen +// MIR for `enumerated_loop` after runtime-optimized fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.runtime-optimized.after.panic-unwind.mir index 07522650e293..034416c173b4 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `enumerated_loop` after PreCodegen +// MIR for `enumerated_loop` after runtime-optimized fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.forward_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.forward_loop.runtime-optimized.after.panic-abort.mir similarity index 99% rename from tests/mir-opt/pre-codegen/slice_iter.forward_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.forward_loop.runtime-optimized.after.panic-abort.mir index f41dbd567003..5f8fefc57c41 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.forward_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.forward_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `forward_loop` after PreCodegen +// MIR for `forward_loop` after runtime-optimized fn forward_loop(_1: &[T], _2: impl Fn(&T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.forward_loop.runtime-optimized.after.panic-unwind.mir similarity index 99% rename from tests/mir-opt/pre-codegen/slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.forward_loop.runtime-optimized.after.panic-unwind.mir index e06c093e3a5b..3bcd93396f61 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.forward_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.forward_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `forward_loop` after PreCodegen +// MIR for `forward_loop` after runtime-optimized fn forward_loop(_1: &[T], _2: impl Fn(&T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.range_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.range_loop.runtime-optimized.after.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.range_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.range_loop.runtime-optimized.after.panic-abort.mir index 43e2d24674d9..e817d9cd8728 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.range_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.range_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `range_loop` after PreCodegen +// MIR for `range_loop` after runtime-optimized fn range_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.range_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.range_loop.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.range_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.range_loop.runtime-optimized.after.panic-unwind.mir index 59aa46bd8cc3..b780f686570f 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.range_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.range_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `range_loop` after PreCodegen +// MIR for `range_loop` after runtime-optimized fn range_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.runtime-optimized.after.panic-abort.mir similarity index 99% rename from tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.reverse_loop.runtime-optimized.after.panic-abort.mir index 1f96a8e14a5b..bd0e3a025f42 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `reverse_loop` after PreCodegen +// MIR for `reverse_loop` after runtime-optimized fn reverse_loop(_1: &[T], _2: impl Fn(&T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.runtime-optimized.after.panic-unwind.mir similarity index 99% rename from tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.reverse_loop.runtime-optimized.after.panic-unwind.mir index 84d3c68aba0d..d0b125be28d4 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `reverse_loop` after PreCodegen +// MIR for `reverse_loop` after runtime-optimized fn reverse_loop(_1: &[T], _2: impl Fn(&T)) -> () { debug slice => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.rs b/tests/mir-opt/pre-codegen/slice_iter.rs index f9049c79803e..fa353a94256b 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.rs +++ b/tests/mir-opt/pre-codegen/slice_iter.rs @@ -16,43 +16,43 @@ // As such, feel free to `--bless` whatever changes you get here, so long as // doing so doesn't add substantially more MIR. -// EMIT_MIR slice_iter.slice_iter_generic_is_empty.PreCodegen.after.mir +// EMIT_MIR slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.mir pub fn slice_iter_generic_is_empty(it: &std::slice::Iter<'_, T>) -> bool { it.is_empty() } -// EMIT_MIR slice_iter.slice_iter_next.PreCodegen.after.mir +// EMIT_MIR slice_iter.slice_iter_next.runtime-optimized.after.mir pub fn slice_iter_next<'a, T>(it: &mut std::slice::Iter<'a, T>) -> Option<&'a T> { it.next() } -// EMIT_MIR slice_iter.slice_iter_mut_next_back.PreCodegen.after.mir +// EMIT_MIR slice_iter.slice_iter_mut_next_back.runtime-optimized.after.mir pub fn slice_iter_mut_next_back<'a, T>(it: &mut std::slice::IterMut<'a, T>) -> Option<&'a mut T> { it.next_back() } -// EMIT_MIR slice_iter.forward_loop.PreCodegen.after.mir +// EMIT_MIR slice_iter.forward_loop.runtime-optimized.after.mir pub fn forward_loop<'a, T>(slice: &'a [T], f: impl Fn(&T)) { for x in slice.iter() { f(x) } } -// EMIT_MIR slice_iter.reverse_loop.PreCodegen.after.mir +// EMIT_MIR slice_iter.reverse_loop.runtime-optimized.after.mir pub fn reverse_loop<'a, T>(slice: &'a [T], f: impl Fn(&T)) { for x in slice.iter().rev() { f(x) } } -// EMIT_MIR slice_iter.enumerated_loop.PreCodegen.after.mir +// EMIT_MIR slice_iter.enumerated_loop.runtime-optimized.after.mir pub fn enumerated_loop<'a, T>(slice: &'a [T], f: impl Fn(usize, &T)) { for (i, x) in slice.iter().enumerate() { f(i, x) } } -// EMIT_MIR slice_iter.range_loop.PreCodegen.after.mir +// EMIT_MIR slice_iter.range_loop.runtime-optimized.after.mir pub fn range_loop<'a, T>(slice: &'a [T], f: impl Fn(usize, &T)) { for i in 0..slice.len() { let x = &slice[i]; diff --git a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.panic-abort.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.panic-abort.mir index 04f78fa3e7e3..9228a51ab919 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_iter_generic_is_empty` after PreCodegen +// MIR for `slice_iter_generic_is_empty` after runtime-optimized fn slice_iter_generic_is_empty(_1: &std::slice::Iter<'_, T>) -> bool { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.panic-unwind.mir similarity index 96% rename from tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.panic-unwind.mir index 04f78fa3e7e3..9228a51ab919 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_generic_is_empty.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_iter_generic_is_empty` after PreCodegen +// MIR for `slice_iter_generic_is_empty` after runtime-optimized fn slice_iter_generic_is_empty(_1: &std::slice::Iter<'_, T>) -> bool { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.runtime-optimized.after.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.runtime-optimized.after.panic-abort.mir index 94471cbb157c..d9c8fb05ec0a 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_iter_mut_next_back` after PreCodegen +// MIR for `slice_iter_mut_next_back` after runtime-optimized fn slice_iter_mut_next_back(_1: &mut std::slice::IterMut<'_, T>) -> Option<&mut T> { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.runtime-optimized.after.panic-unwind.mir index 94471cbb157c..d9c8fb05ec0a 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_mut_next_back.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_iter_mut_next_back` after PreCodegen +// MIR for `slice_iter_mut_next_back` after runtime-optimized fn slice_iter_mut_next_back(_1: &mut std::slice::IterMut<'_, T>) -> Option<&mut T> { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.runtime-optimized.after.panic-abort.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.runtime-optimized.after.panic-abort.mir index 70e21435cc18..7596384ac4a8 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `slice_iter_next` after PreCodegen +// MIR for `slice_iter_next` after runtime-optimized fn slice_iter_next(_1: &mut std::slice::Iter<'_, T>) -> Option<&T> { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.runtime-optimized.after.panic-unwind.mir similarity index 98% rename from tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.runtime-optimized.after.panic-unwind.mir index 70e21435cc18..7596384ac4a8 100644 --- a/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/slice_iter.slice_iter_next.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `slice_iter_next` after PreCodegen +// MIR for `slice_iter_next` after runtime-optimized fn slice_iter_next(_1: &mut std::slice::Iter<'_, T>) -> Option<&T> { debug it => _1; diff --git a/tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/spans.outer.runtime-optimized.after.panic-abort.mir similarity index 93% rename from tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/spans.outer.runtime-optimized.after.panic-abort.mir index 79aa9c5ae1e3..d8b15701bbd9 100644 --- a/tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/spans.outer.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `outer` after PreCodegen +// MIR for `outer` after runtime-optimized fn outer(_1: u8) -> u8 { debug v => _1; // in scope 0 at $DIR/spans.rs:10:14: 10:15 diff --git a/tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/spans.outer.runtime-optimized.after.panic-unwind.mir similarity index 93% rename from tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/spans.outer.runtime-optimized.after.panic-unwind.mir index 79aa9c5ae1e3..d8b15701bbd9 100644 --- a/tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/spans.outer.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `outer` after PreCodegen +// MIR for `outer` after runtime-optimized fn outer(_1: u8) -> u8 { debug v => _1; // in scope 0 at $DIR/spans.rs:10:14: 10:15 diff --git a/tests/mir-opt/pre-codegen/spans.rs b/tests/mir-opt/pre-codegen/spans.rs index 51aad44579da..97258ee26bb0 100644 --- a/tests/mir-opt/pre-codegen/spans.rs +++ b/tests/mir-opt/pre-codegen/spans.rs @@ -6,7 +6,7 @@ #![crate_type = "lib"] -// EMIT_MIR spans.outer.PreCodegen.after.mir +// EMIT_MIR spans.outer.runtime-optimized.after.mir pub fn outer(v: u8) -> u8 { inner(&v) } diff --git a/tests/mir-opt/pre-codegen/transmutes.forget_at_home.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/transmutes.forget_at_home.runtime-optimized.after.mir similarity index 88% rename from tests/mir-opt/pre-codegen/transmutes.forget_at_home.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/transmutes.forget_at_home.runtime-optimized.after.mir index 5fc28fddedf8..80ad68c8a48b 100644 --- a/tests/mir-opt/pre-codegen/transmutes.forget_at_home.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/transmutes.forget_at_home.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `forget_at_home` after PreCodegen +// MIR for `forget_at_home` after runtime-optimized fn forget_at_home(_1: String) -> () { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/transmutes.neo_to_cast.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/transmutes.neo_to_cast.runtime-optimized.after.mir similarity index 80% rename from tests/mir-opt/pre-codegen/transmutes.neo_to_cast.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/transmutes.neo_to_cast.runtime-optimized.after.mir index 6d6b1775d05b..a69276731d49 100644 --- a/tests/mir-opt/pre-codegen/transmutes.neo_to_cast.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/transmutes.neo_to_cast.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `neo_to_cast` after PreCodegen +// MIR for `neo_to_cast` after runtime-optimized fn neo_to_cast(_1: f32) -> i32 { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/transmutes.pad_for_alignment.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/transmutes.pad_for_alignment.runtime-optimized.after.mir similarity index 93% rename from tests/mir-opt/pre-codegen/transmutes.pad_for_alignment.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/transmutes.pad_for_alignment.runtime-optimized.after.mir index 100eebf0c244..87d0f684fdbb 100644 --- a/tests/mir-opt/pre-codegen/transmutes.pad_for_alignment.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/transmutes.pad_for_alignment.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `pad_for_alignment` after PreCodegen +// MIR for `pad_for_alignment` after runtime-optimized fn pad_for_alignment(_1: u32) -> Align64 { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/transmutes.prefix_of_array.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/transmutes.prefix_of_array.runtime-optimized.after.mir similarity index 94% rename from tests/mir-opt/pre-codegen/transmutes.prefix_of_array.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/transmutes.prefix_of_array.runtime-optimized.after.mir index 4050338e2418..44eb659b39b4 100644 --- a/tests/mir-opt/pre-codegen/transmutes.prefix_of_array.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/transmutes.prefix_of_array.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `prefix_of_array` after PreCodegen +// MIR for `prefix_of_array` after runtime-optimized fn prefix_of_array(_1: [u32; 4]) -> [u32; 2] { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/transmutes.prefix_to_cast.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/transmutes.prefix_to_cast.runtime-optimized.after.mir similarity index 89% rename from tests/mir-opt/pre-codegen/transmutes.prefix_to_cast.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/transmutes.prefix_to_cast.runtime-optimized.after.mir index c0500fbae06f..2c80439bcec7 100644 --- a/tests/mir-opt/pre-codegen/transmutes.prefix_to_cast.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/transmutes.prefix_to_cast.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `prefix_to_cast` after PreCodegen +// MIR for `prefix_to_cast` after runtime-optimized fn prefix_to_cast(_1: f32) -> i32 { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/transmutes.rs b/tests/mir-opt/pre-codegen/transmutes.rs index 4825e6079c2e..d8369e839b6b 100644 --- a/tests/mir-opt/pre-codegen/transmutes.rs +++ b/tests/mir-opt/pre-codegen/transmutes.rs @@ -6,21 +6,21 @@ use std::mem::{transmute_neo, transmute_prefix}; -// EMIT_MIR transmutes.neo_to_cast.PreCodegen.after.mir +// EMIT_MIR transmutes.neo_to_cast.runtime-optimized.after.mir pub fn neo_to_cast(x: f32) -> i32 { // CHECK-LABEL: fn neo_to_cast // CHECK: _0 = copy _1 as i32 (Transmute); unsafe { transmute_neo(x) } } -// EMIT_MIR transmutes.prefix_to_cast.PreCodegen.after.mir +// EMIT_MIR transmutes.prefix_to_cast.runtime-optimized.after.mir pub fn prefix_to_cast(x: f32) -> i32 { // CHECK-LABEL: fn prefix_to_cast // CHECK: _0 = copy _1 as i32 (Transmute); unsafe { transmute_prefix(x) } } -// EMIT_MIR transmutes.prefix_of_array.PreCodegen.after.mir +// EMIT_MIR transmutes.prefix_of_array.runtime-optimized.after.mir pub fn prefix_of_array(x: [u32; 4]) -> [u32; 2] { // CHECK-LABEL: fn prefix_of_array // CHECK: _2 = copy _1 as {{.+}}::Transmute<[u32; 4], [u32; 2]> (Transmute); @@ -32,7 +32,7 @@ pub fn prefix_to_cast(x: f32) -> i32 { #[repr(C, align(64))] struct Align64(T); -// EMIT_MIR transmutes.pad_for_alignment.PreCodegen.after.mir +// EMIT_MIR transmutes.pad_for_alignment.runtime-optimized.after.mir pub fn pad_for_alignment(x: u32) -> Align64 { // CHECK-LABEL: fn pad_for_alignment // CHECK: _2 = copy _1 as {{.+}}::ManuallyDrop (Transmute); @@ -41,7 +41,7 @@ pub fn pad_for_alignment(x: u32) -> Align64 { unsafe { transmute_prefix(x) } } -// EMIT_MIR transmutes.forget_at_home.PreCodegen.after.mir +// EMIT_MIR transmutes.forget_at_home.runtime-optimized.after.mir pub fn forget_at_home(x: String) { // CHECK-LABEL: fn forget_at_home // CHECK: bb0: diff --git a/tests/mir-opt/pre-codegen/try_identity.new.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/try_identity.new.runtime-optimized.after.mir similarity index 96% rename from tests/mir-opt/pre-codegen/try_identity.new.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/try_identity.new.runtime-optimized.after.mir index 6035f245c497..6780fa4d3ea2 100644 --- a/tests/mir-opt/pre-codegen/try_identity.new.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/try_identity.new.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `new` after PreCodegen +// MIR for `new` after runtime-optimized fn new(_1: Result) -> Result { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/try_identity.old.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/try_identity.old.runtime-optimized.after.mir similarity index 94% rename from tests/mir-opt/pre-codegen/try_identity.old.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/try_identity.old.runtime-optimized.after.mir index aec51bfd8d74..b74470181143 100644 --- a/tests/mir-opt/pre-codegen/try_identity.old.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/try_identity.old.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `old` after PreCodegen +// MIR for `old` after runtime-optimized fn old(_1: Result) -> Result { debug x => _1; diff --git a/tests/mir-opt/pre-codegen/try_identity.rs b/tests/mir-opt/pre-codegen/try_identity.rs index 876f86fe52ba..30c557e981f0 100644 --- a/tests/mir-opt/pre-codegen/try_identity.rs +++ b/tests/mir-opt/pre-codegen/try_identity.rs @@ -6,7 +6,7 @@ use std::ops::ControlFlow; -// EMIT_MIR try_identity.new.PreCodegen.after.mir +// EMIT_MIR try_identity.new.runtime-optimized.after.mir fn new(x: Result) -> Result { Ok( match { @@ -21,7 +21,7 @@ fn new(x: Result) -> Result { ) } -// EMIT_MIR try_identity.old.PreCodegen.after.mir +// EMIT_MIR try_identity.old.runtime-optimized.after.mir fn old(x: Result) -> Result { Ok(match x { Ok(v) => v, diff --git a/tests/mir-opt/pre-codegen/tuple_ord.demo_ge_partial.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/tuple_ord.demo_ge_partial.runtime-optimized.after.mir similarity index 97% rename from tests/mir-opt/pre-codegen/tuple_ord.demo_ge_partial.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/tuple_ord.demo_ge_partial.runtime-optimized.after.mir index 29bfe962974c..079a57c91690 100644 --- a/tests/mir-opt/pre-codegen/tuple_ord.demo_ge_partial.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/tuple_ord.demo_ge_partial.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `demo_ge_partial` after PreCodegen +// MIR for `demo_ge_partial` after runtime-optimized fn demo_ge_partial(_1: &(f32, f32), _2: &(f32, f32)) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/tuple_ord.demo_le_total.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/tuple_ord.demo_le_total.runtime-optimized.after.mir similarity index 97% rename from tests/mir-opt/pre-codegen/tuple_ord.demo_le_total.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/tuple_ord.demo_le_total.runtime-optimized.after.mir index 7678c92a1f0c..e4dd5225fe02 100644 --- a/tests/mir-opt/pre-codegen/tuple_ord.demo_le_total.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/tuple_ord.demo_le_total.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `demo_le_total` after PreCodegen +// MIR for `demo_le_total` after runtime-optimized fn demo_le_total(_1: &(u16, i16), _2: &(u16, i16)) -> bool { debug a => _1; diff --git a/tests/mir-opt/pre-codegen/tuple_ord.rs b/tests/mir-opt/pre-codegen/tuple_ord.rs index 74a919e54246..30064343d971 100644 --- a/tests/mir-opt/pre-codegen/tuple_ord.rs +++ b/tests/mir-opt/pre-codegen/tuple_ord.rs @@ -3,13 +3,13 @@ #![crate_type = "lib"] -// EMIT_MIR tuple_ord.demo_le_total.PreCodegen.after.mir +// EMIT_MIR tuple_ord.demo_le_total.runtime-optimized.after.mir pub fn demo_le_total(a: &(u16, i16), b: &(u16, i16)) -> bool { // CHECK-LABEL: demo_le_total a <= b } -// EMIT_MIR tuple_ord.demo_ge_partial.PreCodegen.after.mir +// EMIT_MIR tuple_ord.demo_ge_partial.runtime-optimized.after.mir pub fn demo_ge_partial(a: &(f32, f32), b: &(f32, f32)) -> bool { // CHECK-LABEL: demo_ge_partial a >= b diff --git a/tests/mir-opt/pre-codegen/two_unwrap_unchecked.rs b/tests/mir-opt/pre-codegen/two_unwrap_unchecked.rs index 7b742b956ae5..7b7d7b44d0f2 100644 --- a/tests/mir-opt/pre-codegen/two_unwrap_unchecked.rs +++ b/tests/mir-opt/pre-codegen/two_unwrap_unchecked.rs @@ -3,7 +3,7 @@ #![crate_type = "lib"] // EMIT_MIR two_unwrap_unchecked.two_unwrap_unchecked.GVN.diff -// EMIT_MIR two_unwrap_unchecked.two_unwrap_unchecked.PreCodegen.after.mir +// EMIT_MIR two_unwrap_unchecked.two_unwrap_unchecked.runtime-optimized.after.mir pub fn two_unwrap_unchecked(v: &Option) -> i32 { // CHECK-LABEL: fn two_unwrap_unchecked( // CHECK: [[DEREF_V:_.*]] = copy (*_1); diff --git a/tests/mir-opt/pre-codegen/two_unwrap_unchecked.two_unwrap_unchecked.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/two_unwrap_unchecked.two_unwrap_unchecked.runtime-optimized.after.mir similarity index 95% rename from tests/mir-opt/pre-codegen/two_unwrap_unchecked.two_unwrap_unchecked.PreCodegen.after.mir rename to tests/mir-opt/pre-codegen/two_unwrap_unchecked.two_unwrap_unchecked.runtime-optimized.after.mir index 75543a53e286..9853713df439 100644 --- a/tests/mir-opt/pre-codegen/two_unwrap_unchecked.two_unwrap_unchecked.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/two_unwrap_unchecked.two_unwrap_unchecked.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `two_unwrap_unchecked` after PreCodegen +// MIR for `two_unwrap_unchecked` after runtime-optimized fn two_unwrap_unchecked(_1: &Option) -> i32 { debug v => _1; diff --git a/tests/mir-opt/pre-codegen/vec_deref.rs b/tests/mir-opt/pre-codegen/vec_deref.rs index 75edd9bd8794..806df39561b1 100644 --- a/tests/mir-opt/pre-codegen/vec_deref.rs +++ b/tests/mir-opt/pre-codegen/vec_deref.rs @@ -7,7 +7,7 @@ // Added after it stopped inlining in a nightly; see // -// EMIT_MIR vec_deref.vec_deref_to_slice.PreCodegen.after.mir +// EMIT_MIR vec_deref.vec_deref_to_slice.runtime-optimized.after.mir pub fn vec_deref_to_slice(v: &Vec) -> &[u8] { v } diff --git a/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.PreCodegen.after.panic-abort.mir b/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.runtime-optimized.after.panic-abort.mir similarity index 97% rename from tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.PreCodegen.after.panic-abort.mir rename to tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.runtime-optimized.after.panic-abort.mir index 730aedf4f1a3..831a7d2a7b97 100644 --- a/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.PreCodegen.after.panic-abort.mir +++ b/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.runtime-optimized.after.panic-abort.mir @@ -1,4 +1,4 @@ -// MIR for `vec_deref_to_slice` after PreCodegen +// MIR for `vec_deref_to_slice` after runtime-optimized fn vec_deref_to_slice(_1: &Vec) -> &[u8] { debug v => _1; diff --git a/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.PreCodegen.after.panic-unwind.mir b/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.runtime-optimized.after.panic-unwind.mir similarity index 97% rename from tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.PreCodegen.after.panic-unwind.mir rename to tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.runtime-optimized.after.panic-unwind.mir index 730aedf4f1a3..831a7d2a7b97 100644 --- a/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.PreCodegen.after.panic-unwind.mir +++ b/tests/mir-opt/pre-codegen/vec_deref.vec_deref_to_slice.runtime-optimized.after.panic-unwind.mir @@ -1,4 +1,4 @@ -// MIR for `vec_deref_to_slice` after PreCodegen +// MIR for `vec_deref_to_slice` after runtime-optimized fn vec_deref_to_slice(_1: &Vec) -> &[u8] { debug v => _1; diff --git a/tests/mir-opt/remove_never_const.no_codegen.PreCodegen.after.mir b/tests/mir-opt/remove_never_const.no_codegen.runtime-optimized.after.mir similarity index 68% rename from tests/mir-opt/remove_never_const.no_codegen.PreCodegen.after.mir rename to tests/mir-opt/remove_never_const.no_codegen.runtime-optimized.after.mir index 695bf2336857..2eed35c83a70 100644 --- a/tests/mir-opt/remove_never_const.no_codegen.PreCodegen.after.mir +++ b/tests/mir-opt/remove_never_const.no_codegen.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `no_codegen` after PreCodegen +// MIR for `no_codegen` after runtime-optimized fn no_codegen() -> () { let mut _0: (); diff --git a/tests/mir-opt/remove_never_const.rs b/tests/mir-opt/remove_never_const.rs index 9307b8e76050..ab7f369e6802 100644 --- a/tests/mir-opt/remove_never_const.rs +++ b/tests/mir-opt/remove_never_const.rs @@ -11,7 +11,7 @@ impl PrintName { const VOID: ! = panic!(); } -// EMIT_MIR remove_never_const.no_codegen.PreCodegen.after.mir +// EMIT_MIR remove_never_const.no_codegen.runtime-optimized.after.mir fn no_codegen() { let _ = PrintName::::VOID; } diff --git a/tests/mir-opt/tls_access.main.PreCodegen.after.mir b/tests/mir-opt/tls_access.main.runtime-optimized.after.mir similarity index 91% rename from tests/mir-opt/tls_access.main.PreCodegen.after.mir rename to tests/mir-opt/tls_access.main.runtime-optimized.after.mir index 1c59e938423b..9154e75d3880 100644 --- a/tests/mir-opt/tls_access.main.PreCodegen.after.mir +++ b/tests/mir-opt/tls_access.main.runtime-optimized.after.mir @@ -1,4 +1,4 @@ -// MIR for `main` after PreCodegen +// MIR for `main` after runtime-optimized fn main() -> () { let mut _0: (); diff --git a/tests/mir-opt/tls_access.rs b/tests/mir-opt/tls_access.rs index 465282e1a2e7..e70c44fd9ade 100644 --- a/tests/mir-opt/tls_access.rs +++ b/tests/mir-opt/tls_access.rs @@ -1,5 +1,5 @@ //@ skip-filecheck -// EMIT_MIR tls_access.main.PreCodegen.after.mir +// EMIT_MIR tls_access.main.runtime-optimized.after.mir //@ compile-flags: -Zmir-opt-level=0 #![feature(thread_local)] diff --git a/tests/ui/traits/associated_type_bound/generic-const-args-default.rs b/tests/ui/traits/associated_type_bound/generic-const-args-default.rs new file mode 100644 index 000000000000..b56fe6ddab7a --- /dev/null +++ b/tests/ui/traits/associated_type_bound/generic-const-args-default.rs @@ -0,0 +1,12 @@ +//! Regression test for +//@ check-pass + +#![feature(min_generic_const_args)] + +trait Bar {} + +trait Foo { + type AssocB: Bar; +} + +fn main() {}