about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeón Orell Valerian Liehr <me@fmease.dev>2025-02-26 19:03:59 +0100
committerGitHub <noreply@github.com>2025-02-26 19:03:59 +0100
commit46eb43e71b82512c7e29f4e91f87a74223215fea (patch)
tree56e236afc296a927ebe0bef418743021b5156509
parent526dd27b4d9ef4d2bcc4b622f3b02ef50b1d714f (diff)
parentb8c7e8aa72e0ab103b781c7beaded88aeb49f8b0 (diff)
downloadrust-46eb43e71b82512c7e29f4e91f87a74223215fea.tar.gz
rust-46eb43e71b82512c7e29f4e91f87a74223215fea.zip
Rollup merge of #137671 - meithecatte:discoverable-dump-mir, r=Nadrieril
Make -Z unpretty=mir suggest -Z dump-mir as well for discoverability

While debugging something else, I got quite annoyed with `-Z unpretty=mir` showing me post-processed MIR instead of the one just after it is built. I ended up asking on Zulip and got pointed to `-Z dump-mir`. While this feature is documented in the rustc dev guide, I think it'd be good if the possibility of making use of it was staring you in the face while you need it.
-rw-r--r--compiler/rustc_middle/src/mir/pretty.rs1
-rw-r--r--tests/run-make/const_fn_mir/dump.mir1
2 files changed, 2 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/mir/pretty.rs b/compiler/rustc_middle/src/mir/pretty.rs
index 875f5282bf2..f880b1364c2 100644
--- a/compiler/rustc_middle/src/mir/pretty.rs
+++ b/compiler/rustc_middle/src/mir/pretty.rs
@@ -319,6 +319,7 @@ pub fn write_mir_pretty<'tcx>(
 
     writeln!(w, "// WARNING: This output format is intended for human consumers only")?;
     writeln!(w, "// and is subject to change without notice. Knock yourself out.")?;
+    writeln!(w, "// HINT: See also -Z dump-mir for MIR at specific points during compilation.")?;
 
     let mut first = true;
     for def_id in dump_mir_def_ids(tcx, single) {
diff --git a/tests/run-make/const_fn_mir/dump.mir b/tests/run-make/const_fn_mir/dump.mir
index b1802c990cf..2b5c684bbef 100644
--- a/tests/run-make/const_fn_mir/dump.mir
+++ b/tests/run-make/const_fn_mir/dump.mir
@@ -1,5 +1,6 @@
 // WARNING: This output format is intended for human consumers only
 // and is subject to change without notice. Knock yourself out.
+// HINT: See also -Z dump-mir for MIR at specific points during compilation.
 fn foo() -> i32 {
     let mut _0: i32;
     let mut _1: (i32, bool);