@@ -16,8 +16,10 @@ use syntax_pos::Span;
16
16
use std:: fmt;
17
17
use std:: iter;
18
18
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
+ } ;
21
23
use crate :: util:: elaborate_drops:: { self , DropElaborator , DropStyle , DropFlagMode } ;
22
24
use crate :: util:: patch:: MirPatch ;
23
25
@@ -113,12 +115,15 @@ fn make_shim<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
113
115
}
114
116
} ;
115
117
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
+
122
127
debug ! ( "make_shim({:?}) = {:?}" , instance, result) ;
123
128
124
129
tcx. alloc_mir ( result)
0 commit comments