@@ -16,8 +16,10 @@ use syntax_pos::Span;
1616use std:: fmt;
1717use 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+ } ;
2123use crate :: util:: elaborate_drops:: { self , DropElaborator , DropStyle , DropFlagMode } ;
2224use 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