Split critical call edges in coroutine drop shim

This commit is contained in:
Tomasz Miąsko 2023-11-19 00:00:00 +00:00
parent cef892ebab
commit e0d6292ddb

View File

@ -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,
);