Skip to content

Commit f5bbcf3

Browse files
committed
use pass infrastructure for mir shims, so that they can get dumped
1 parent 312f382 commit f5bbcf3

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

src/librustc_mir/shim.rs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ use syntax_pos::Span;
1616
use std::fmt;
1717
use std::iter;
1818

19-
use crate::transform::{add_moves_for_packed_drops, add_call_guards};
20-
use crate::transform::{remove_noop_landing_pads, no_landing_pads, simplify};
19+
use crate::transform::{
20+
add_moves_for_packed_drops, add_call_guards,
21+
remove_noop_landing_pads, no_landing_pads, simplify, run_passes
22+
};
2123
use crate::util::elaborate_drops::{self, DropElaborator, DropStyle, DropFlagMode};
2224
use crate::util::patch::MirPatch;
2325

@@ -113,12 +115,15 @@ fn make_shim<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
113115
}
114116
};
115117
debug!("make_shim({:?}) = untransformed {:?}", instance, result);
116-
add_moves_for_packed_drops::add_moves_for_packed_drops(
117-
tcx, &mut result, instance.def_id());
118-
no_landing_pads::no_landing_pads(tcx, &mut result);
119-
remove_noop_landing_pads::remove_noop_landing_pads(tcx, &mut result);
120-
simplify::simplify_cfg(&mut result);
121-
add_call_guards::CriticalCallEdges.add_call_guards(&mut result);
118+
119+
run_passes(tcx, &mut result, instance.def_id(), MirPhase::Const, &[
120+
&add_moves_for_packed_drops::AddMovesForPackedDrops,
121+
&no_landing_pads::NoLandingPads,
122+
&remove_noop_landing_pads::RemoveNoopLandingPads,
123+
&simplify::SimplifyCfg::new("make_shim"),
124+
&add_call_guards::CriticalCallEdges,
125+
]);
126+
122127
debug!("make_shim({:?}) = {:?}", instance, result);
123128

124129
tcx.alloc_mir(result)

0 commit comments

Comments
 (0)