rustc_codegen_ssa::mir::analyze

Function cleanup_kinds

source
pub(crate) fn cleanup_kinds(mir: &Body<'_>) -> IndexVec<BasicBlock, CleanupKind>
Expand description

MSVC requires unwinding code to be split to a tree of funclets, where each funclet can only branch to itself or to its parent. Luckily, the code we generates matches this pattern. Recover that structure in an analyze pass.