- // MIR for `main` before ConstProp + // MIR for `main` after ConstProp fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/switch_int.rs:6:11: 6:11 let mut _1: i32; // in scope 0 at $DIR/switch_int.rs:7:11: 7:12 bb0: { StorageLive(_1); // bb0[0]: scope 0 at $DIR/switch_int.rs:7:11: 7:12 _1 = const 1i32; // bb0[1]: scope 0 at $DIR/switch_int.rs:7:11: 7:12 // ty::Const // + ty: i32 // + val: Value(Scalar(0x00000001)) // mir::Constant // + span: $DIR/switch_int.rs:7:11: 7:12 // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } - switchInt(_1) -> [1i32: bb2, otherwise: bb1]; // bb0[2]: scope 0 at $DIR/switch_int.rs:8:9: 8:10 + switchInt(const 1i32) -> [1i32: bb2, otherwise: bb1]; // bb0[2]: scope 0 at $DIR/switch_int.rs:8:9: 8:10 + // ty::Const + // + ty: i32 + // + val: Value(Scalar(0x00000001)) + // mir::Constant + // + span: $DIR/switch_int.rs:8:9: 8:10 + // + literal: Const { ty: i32, val: Value(Scalar(0x00000001)) } } bb1: { _0 = const foo(const -1i32) -> bb3; // bb1[0]: scope 0 at $DIR/switch_int.rs:9:14: 9:21 // ty::Const // + ty: fn(i32) {foo} // + val: Value(Scalar()) // mir::Constant // + span: $DIR/switch_int.rs:9:14: 9:17 // + literal: Const { ty: fn(i32) {foo}, val: Value(Scalar()) } // ty::Const // + ty: i32 // + val: Value(Scalar(0xffffffff)) // mir::Constant // + span: $DIR/switch_int.rs:9:18: 9:20 // + literal: Const { ty: i32, val: Value(Scalar(0xffffffff)) } } bb2: { _0 = const foo(const 0i32) -> bb3; // bb2[0]: scope 0 at $DIR/switch_int.rs:8:14: 8:20 // ty::Const // + ty: fn(i32) {foo} // + val: Value(Scalar()) // mir::Constant // + span: $DIR/switch_int.rs:8:14: 8:17 // + literal: Const { ty: fn(i32) {foo}, val: Value(Scalar()) } // ty::Const // + ty: i32 // + val: Value(Scalar(0x00000000)) // mir::Constant // + span: $DIR/switch_int.rs:8:18: 8:19 // + literal: Const { ty: i32, val: Value(Scalar(0x00000000)) } } bb3: { StorageDead(_1); // bb3[0]: scope 0 at $DIR/switch_int.rs:11:1: 11:2 return; // bb3[1]: scope 0 at $DIR/switch_int.rs:11:2: 11:2 } }