about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_smir/src/rustc_smir/convert/mir.rs4
-rw-r--r--compiler/stable_mir/src/mir/pretty.rs4
2 files changed, 5 insertions, 3 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/convert/mir.rs b/compiler/rustc_smir/src/rustc_smir/convert/mir.rs
index 04ae134eaca..e9b835f90db 100644
--- a/compiler/rustc_smir/src/rustc_smir/convert/mir.rs
+++ b/compiler/rustc_smir/src/rustc_smir/convert/mir.rs
@@ -579,8 +579,10 @@ impl<'tcx> Stable<'tcx> for mir::TerminatorKind<'tcx> {
             mir::TerminatorKind::SwitchInt { discr, targets } => TerminatorKind::SwitchInt {
                 discr: discr.stable(tables),
                 targets: {
-                    let (value_vec, target_vec) =
+                    let (value_vec, mut target_vec): (Vec<_>, Vec<_>) =
                         targets.iter().map(|(value, target)| (value, target.as_usize())).unzip();
+                    // We need to push otherwise as last element to ensure it's same as in MIR.
+                    target_vec.push(targets.otherwise().as_usize());
                     stable_mir::mir::SwitchTargets { value: value_vec, targets: target_vec }
                 },
                 otherwise: targets.otherwise().as_usize(),
diff --git a/compiler/stable_mir/src/mir/pretty.rs b/compiler/stable_mir/src/mir/pretty.rs
index ee2237394ca..759c3b148df 100644
--- a/compiler/stable_mir/src/mir/pretty.rs
+++ b/compiler/stable_mir/src/mir/pretty.rs
@@ -107,7 +107,7 @@ pub fn pretty_terminator<W: io::Write>(terminator: &TerminatorKind, w: &mut W) -
                 if i > 0 {
                     write!(w, ", ")?;
                 }
-                write!(w, "{}: {:?}", labels[i], target)?;
+                write!(w, "{}: bb{:?}", labels[i], target)?;
             }
             if show_unwind {
                 write!(w, ", ")?;
@@ -126,7 +126,7 @@ pub fn pretty_terminator_head(terminator: &TerminatorKind) -> String {
     match terminator {
         Goto { .. } => format!("        goto"),
         SwitchInt { discr, .. } => {
-            format!("        switch({})", pretty_operand(discr))
+            format!("        switchInt(_{})", pretty_operand(discr))
         }
         Resume => format!("        resume"),
         Abort => format!("        abort"),