- // MIR for `opt_multiple_ifs` before SimplifyComparisonIntegral + // MIR for `opt_multiple_ifs` after SimplifyComparisonIntegral fn opt_multiple_ifs(_1: u32) -> u32 { debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:21: +0:22 let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:32: +0:35 let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 let mut _3: u32; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9 let mut _4: bool; // in scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 let mut _5: u32; // in scope 0 at $DIR/if_condition_int.rs:+3:15: +3:16 bb0: { StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9 _3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9 - _2 = Eq(move _3, const 42_u32); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 - StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15 - switchInt(move _2) -> [0: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 + nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 + nop; // scope 0 at $DIR/if_condition_int.rs:+1:14: +1:15 + switchInt(move _3) -> [42: bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 } bb1: { + StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 _0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+2:9: +2:10 goto -> bb6; // scope 0 at $DIR/if_condition_int.rs:+1:5: +7:6 } bb2: { + StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 StorageLive(_4); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 StorageLive(_5); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:16 _5 = _1; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:16 - _4 = Ne(move _5, const 21_u32); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 - StorageDead(_5); // scope 0 at $DIR/if_condition_int.rs:+3:21: +3:22 - switchInt(move _4) -> [0: bb4, otherwise: bb3]; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 + nop; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 + nop; // scope 0 at $DIR/if_condition_int.rs:+3:21: +3:22 + switchInt(move _5) -> [21: bb4, otherwise: bb3]; // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 } bb3: { + StorageDead(_5); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 _0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+4:9: +4:10 goto -> bb5; // scope 0 at $DIR/if_condition_int.rs:+3:12: +7:6 } bb4: { + StorageDead(_5); // scope 0 at $DIR/if_condition_int.rs:+3:15: +3:22 _0 = const 2_u32; // scope 0 at $DIR/if_condition_int.rs:+6:9: +6:10 goto -> bb5; // scope 0 at $DIR/if_condition_int.rs:+3:12: +7:6 } bb5: { StorageDead(_4); // scope 0 at $DIR/if_condition_int.rs:+7:5: +7:6 goto -> bb6; // scope 0 at $DIR/if_condition_int.rs:+1:5: +7:6 } bb6: { StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+7:5: +7:6 return; // scope 0 at $DIR/if_condition_int.rs:+8:2: +8:2 } }