From e0d6292ddbe6b44deec120b87952615c29465838 Mon Sep 17 00:00:00 2001 From: Tomasz Miąsko Date: Sun, 19 Nov 2023 00:00:00 +0000 Subject: Split critical call edges in coroutine drop shim --- compiler/rustc_mir_transform/src/coroutine.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/rustc_mir_transform/src') diff --git a/compiler/rustc_mir_transform/src/coroutine.rs b/compiler/rustc_mir_transform/src/coroutine.rs index dfafd859830..5890c0f2db3 100644 --- a/compiler/rustc_mir_transform/src/coroutine.rs +++ b/compiler/rustc_mir_transform/src/coroutine.rs @@ -51,6 +51,7 @@ //! Otherwise it drops all the values in scope at the last suspension point. use crate::abort_unwinding_calls; +use crate::add_call_guards; use crate::deref_separator::deref_finder; use crate::errors; use crate::pass_manager as pm; @@ -1162,7 +1163,7 @@ fn create_coroutine_drop_shim<'tcx>( pm::run_passes_no_validate( tcx, &mut body, - &[&abort_unwinding_calls::AbortUnwindingCalls], + &[&abort_unwinding_calls::AbortUnwindingCalls, &add_call_guards::CriticalCallEdges], None, ); -- cgit 1.4.1-3-g733a5 From 329d015014a314f6131214d83d10b9d3b17d387d Mon Sep 17 00:00:00 2001 From: Tomasz Miąsko Date: Sun, 19 Nov 2023 00:00:00 +0000 Subject: Split critical call edges just before code generation --- compiler/rustc_mir_transform/src/shim.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/rustc_mir_transform/src') diff --git a/compiler/rustc_mir_transform/src/shim.rs b/compiler/rustc_mir_transform/src/shim.rs index a9640146a52..f24a2d07e49 100644 --- a/compiler/rustc_mir_transform/src/shim.rs +++ b/compiler/rustc_mir_transform/src/shim.rs @@ -111,8 +111,8 @@ fn make_shim<'tcx>(tcx: TyCtxt<'tcx>, instance: ty::InstanceDef<'tcx>) -> Body<' &deref_separator::Derefer, &remove_noop_landing_pads::RemoveNoopLandingPads, &simplify::SimplifyCfg::MakeShim, - &add_call_guards::CriticalCallEdges, &abort_unwinding_calls::AbortUnwindingCalls, + &add_call_guards::CriticalCallEdges, ], Some(MirPhase::Runtime(RuntimePhase::Optimized)), ); -- cgit 1.4.1-3-g733a5