- // MIR for `multiple_match` before JumpThreading + // MIR for `multiple_match` after JumpThreading fn multiple_match(_1: u8) -> u8 { let mut _0: u8; let mut _2: u8; let mut _3: u8; bb0: { switchInt(copy _1) -> [3: bb1, otherwise: bb2]; } bb1: { _2 = copy _1; - switchInt(copy _2) -> [3: bb3, otherwise: bb4]; + goto -> bb3; } bb2: { _3 = copy _1; - switchInt(copy _3) -> [3: bb5, otherwise: bb6]; + goto -> bb6; } bb3: { _0 = const 5_u8; return; } bb4: { _0 = const 7_u8; return; } bb5: { _0 = const 9_u8; return; } bb6: { switchInt(copy _3) -> [1: bb7, otherwise: bb8]; } bb7: { _0 = const 9_u8; return; } bb8: { _0 = const 11_u8; return; } }