about summary refs log tree commit diff
path: root/compiler/rustc_interface/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-08-09 00:03:39 +0200
committerGitHub <noreply@github.com>2024-08-09 00:03:39 +0200
commit9243aeecdaa06f64bf75362227383c3f6d827cfe (patch)
tree5011a89d441aba609acb9d206fe11789f5fac3d4 /compiler/rustc_interface/src
parent58c6497e4cb5ce4a22446d41514d4fe2da9e7300 (diff)
parent524e7689a9a98e0d3769fac4b3567dbbbf4b5d78 (diff)
downloadrust-9243aeecdaa06f64bf75362227383c3f6d827cfe.tar.gz
rust-9243aeecdaa06f64bf75362227383c3f6d827cfe.zip
Rollup merge of #128851 - compiler-errors:validate-mir-opt-mir, r=matthiaskrgr
Add comment that bors did not see pushed before it merged

In #128612, bors merged 470ada2de0ec507191ad8da35b0712986646d01c instead of 1e07c19.

This means it dropped a useful comment I added, and a stage rename that is more descriptive.
Diffstat (limited to 'compiler/rustc_interface/src')
-rw-r--r--compiler/rustc_interface/src/passes.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs
index 023352156eb..96a6f52d60b 100644
--- a/compiler/rustc_interface/src/passes.rs
+++ b/compiler/rustc_interface/src/passes.rs
@@ -818,8 +818,14 @@ fn run_required_analyses(tcx: TyCtxt<'_>) {
     });
     sess.time("layout_testing", || layout_test::test_layout(tcx));
     sess.time("abi_testing", || abi_test::test_abi(tcx));
+
+    // If `-Zvalidate-mir` is set, we also want to compute the final MIR for each item
+    // (either its `mir_for_ctfe` or `optimized_mir`) since that helps uncover any bugs
+    // in MIR optimizations that may only be reachable through codegen, or other codepaths
+    // that requires the optimized/ctfe MIR, such as polymorphization, coroutine bodies,
+    // or evaluating consts.
     if tcx.sess.opts.unstable_opts.validate_mir {
-        sess.time("ensuring_optimized_MIR_is_computable", || {
+        sess.time("ensuring_final_MIR_is_computable", || {
             tcx.hir().par_body_owners(|def_id| {
                 tcx.instance_mir(ty::InstanceKind::Item(def_id.into()));
             });