about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src
diff options
context:
space:
mode:
authorCameron Steffen <cam.steffen94@gmail.com>2021-10-14 15:26:59 -0500
committerCameron Steffen <cam.steffen94@gmail.com>2021-10-14 15:26:59 -0500
commit7166df4b595c9d275b2bf07af2b0623a5a39f80f (patch)
tree513227bf9880631e235e82d067cadd863a8f62ce /compiler/rustc_mir_transform/src
parentcf1d702411b856e99ff9a3d2a465b9680536e7f0 (diff)
downloadrust-7166df4b595c9d275b2bf07af2b0623a5a39f80f.tar.gz
rust-7166df4b595c9d275b2bf07af2b0623a5a39f80f.zip
Inline on_mir_pass and add inline to dump_mir
Diffstat (limited to 'compiler/rustc_mir_transform/src')
-rw-r--r--compiler/rustc_mir_transform/src/dump_mir.rs24
-rw-r--r--compiler/rustc_mir_transform/src/lib.rs10
2 files changed, 7 insertions, 27 deletions
diff --git a/compiler/rustc_mir_transform/src/dump_mir.rs b/compiler/rustc_mir_transform/src/dump_mir.rs
index 9fa0460e7cb..6b995141a2b 100644
--- a/compiler/rustc_mir_transform/src/dump_mir.rs
+++ b/compiler/rustc_mir_transform/src/dump_mir.rs
@@ -1,13 +1,12 @@
 //! This pass just dumps MIR at a specified point.
 
 use std::borrow::Cow;
-use std::fmt;
 use std::fs::File;
 use std::io;
 
 use crate::MirPass;
+use rustc_middle::mir::write_mir_pretty;
 use rustc_middle::mir::Body;
-use rustc_middle::mir::{dump_mir, write_mir_pretty};
 use rustc_middle::ty::TyCtxt;
 use rustc_session::config::{OutputFilenames, OutputType};
 
@@ -21,27 +20,6 @@ impl<'tcx> MirPass<'tcx> for Marker {
     fn run_pass(&self, _tcx: TyCtxt<'tcx>, _body: &mut Body<'tcx>) {}
 }
 
-pub struct Disambiguator {
-    is_after: bool,
-}
-
-impl fmt::Display for Disambiguator {
-    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
-        let title = if self.is_after { "after" } else { "before" };
-        write!(formatter, "{}", title)
-    }
-}
-
-pub fn on_mir_pass<'tcx>(
-    tcx: TyCtxt<'tcx>,
-    pass_num: &dyn fmt::Display,
-    pass_name: &str,
-    body: &Body<'tcx>,
-    is_after: bool,
-) {
-    dump_mir(tcx, Some(pass_num), pass_name, &Disambiguator { is_after }, body, |_, _| Ok(()));
-}
-
 pub fn emit_mir(tcx: TyCtxt<'_>, outputs: &OutputFilenames) -> io::Result<()> {
     let path = outputs.path(OutputType::Mir);
     let mut f = io::BufWriter::new(File::create(&path)?);
diff --git a/compiler/rustc_mir_transform/src/lib.rs b/compiler/rustc_mir_transform/src/lib.rs
index 9b11c8f0b24..39a686977fa 100644
--- a/compiler/rustc_mir_transform/src/lib.rs
+++ b/compiler/rustc_mir_transform/src/lib.rs
@@ -27,7 +27,7 @@ use rustc_hir::def_id::{DefId, LocalDefId};
 use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor};
 use rustc_index::vec::IndexVec;
 use rustc_middle::mir::visit::Visitor as _;
-use rustc_middle::mir::{traversal, Body, ConstQualifs, MirPhase, Promoted};
+use rustc_middle::mir::{dump_mir, traversal, Body, ConstQualifs, MirPhase, Promoted};
 use rustc_middle::ty::query::Providers;
 use rustc_middle::ty::{self, TyCtxt, TypeFoldable};
 use rustc_span::{Span, Symbol};
@@ -187,12 +187,14 @@ fn run_passes(
     let mut index = 0;
     let mut run_pass = |pass: &dyn MirPass<'tcx>| {
         let run_hooks = |body: &_, index, is_after| {
-            dump_mir::on_mir_pass(
+            let disambiguator = if is_after { "after" } else { "before" };
+            dump_mir(
                 tcx,
-                &format_args!("{:03}-{:03}", phase_index, index),
+                Some(&format_args!("{:03}-{:03}", phase_index, index)),
                 &pass.name(),
+                &disambiguator,
                 body,
-                is_after,
+                |_, _| Ok(()),
             );
         };
         run_hooks(body, index, false);