|  | - // MIR for `aggregate` before JumpThreading | 
|  | + // MIR for `aggregate` after JumpThreading | 
|  |  | 
|  | fn aggregate(_1: u8) -> u8 { | 
|  | debug x => _1; | 
|  | let mut _0: u8; | 
|  | let _2: u8; | 
|  | let _3: u8; | 
|  | let mut _4: (u8, u8); | 
|  | let mut _5: bool; | 
|  | let mut _6: u8; | 
|  | scope 1 { | 
|  | debug a => _2; | 
|  | debug b => _3; | 
|  | } | 
|  |  | 
|  | bb0: { | 
|  | StorageLive(_4); | 
|  | _4 = const aggregate::FOO; | 
|  | StorageLive(_2); | 
|  | _2 = copy (_4.0: u8); | 
|  | StorageLive(_3); | 
|  | _3 = copy (_4.1: u8); | 
|  | StorageDead(_4); | 
|  | StorageLive(_5); | 
|  | StorageLive(_6); | 
|  | _6 = copy _2; | 
|  | _5 = Eq(move _6, const 7_u8); | 
|  | -         switchInt(move _5) -> [0: bb2, otherwise: bb1]; | 
|  | +         goto -> bb2; | 
|  | } | 
|  |  | 
|  | bb1: { | 
|  | StorageDead(_6); | 
|  | _0 = copy _3; | 
|  | goto -> bb3; | 
|  | } | 
|  |  | 
|  | bb2: { | 
|  | StorageDead(_6); | 
|  | _0 = copy _2; | 
|  | goto -> bb3; | 
|  | } | 
|  |  | 
|  | bb3: { | 
|  | StorageDead(_5); | 
|  | StorageDead(_3); | 
|  | StorageDead(_2); | 
|  | return; | 
|  | } | 
|  | } | 
|  |  |