- // MIR for `opt_u32` before SimplifyComparisonIntegral + // MIR for `opt_u32` after SimplifyComparisonIntegral fn opt_u32(_1: u32) -> u32 { debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:12: +0:13 let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:23: +0:26 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 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:+1:18: +1:19 goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:32 } bb2: { + StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:15 _0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:29: +1:30 goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:32 } bb3: { StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:31: +1:32 return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2 } }