Don't go through the formatting infrastructure just to get the name of a phase

This commit is contained in:
Oli Scherer 2022-12-01 08:31:54 +00:00
parent 744a97b98c
commit c2166ec628
3 changed files with 15 additions and 25 deletions

View file

@ -184,30 +184,7 @@ impl RuntimePhase {
impl Display for MirPhase { impl Display for MirPhase {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
match self { f.write_str(self.name())
MirPhase::Built => write!(f, "built"),
MirPhase::Analysis(p) => write!(f, "analysis-{}", p),
MirPhase::Runtime(p) => write!(f, "runtime-{}", p),
}
}
}
impl Display for AnalysisPhase {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
match self {
AnalysisPhase::Initial => write!(f, "initial"),
AnalysisPhase::PostCleanup => write!(f, "post_cleanup"),
}
}
}
impl Display for RuntimePhase {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
match self {
RuntimePhase::Initial => write!(f, "initial"),
RuntimePhase::PostCleanup => write!(f, "post_cleanup"),
RuntimePhase::Optimized => write!(f, "optimized"),
}
} }
} }

View file

@ -89,6 +89,19 @@ pub enum MirPhase {
Runtime(RuntimePhase), Runtime(RuntimePhase),
} }
impl MirPhase {
pub fn name(&self) -> &'static str {
match *self {
MirPhase::Built => "built",
MirPhase::Analysis(AnalysisPhase::Initial) => "analysis",
MirPhase::Analysis(AnalysisPhase::PostCleanup) => "analysis-post-cleanup",
MirPhase::Runtime(RuntimePhase::Initial) => "runtime",
MirPhase::Runtime(RuntimePhase::PostCleanup) => "runtime-post-cleanup",
MirPhase::Runtime(RuntimePhase::Optimized) => "runtime-optimized",
}
}
}
/// See [`MirPhase::Analysis`]. /// See [`MirPhase::Analysis`].
#[derive(Copy, Clone, TyEncodable, TyDecodable, Debug, PartialEq, Eq, PartialOrd, Ord)] #[derive(Copy, Clone, TyEncodable, TyDecodable, Debug, PartialEq, Eq, PartialOrd, Ord)]
#[derive(HashStable)] #[derive(HashStable)]

View file

@ -184,7 +184,7 @@ pub fn dump_mir_for_phase_change<'tcx>(tcx: TyCtxt<'tcx>, body: &Body<'tcx>) {
mir::dump_mir( mir::dump_mir(
tcx, tcx,
Some(&format_args!("{:03}-000", phase_index)), Some(&format_args!("{:03}-000", phase_index)),
&format!("{}", body.phase), body.phase.name(),
&"after", &"after",
body, body,
|_, _| Ok(()), |_, _| Ok(()),