1- // MIR for `unchecked` before LowerIntrinsics 2+ // MIR for `unchecked` after LowerIntrinsics 3 4 fn unchecked(_1: i32, _2: i32) -> () { 5 debug a => _1; 6 debug b => _2; 7 let mut _0: (); 8 let _3: i32; 9 let mut _4: i32; 10 let mut _5: i32; 11 let mut _7: i32; 12 let mut _8: i32; 13 let mut _10: i32; 14 let mut _11: i32; 15 let mut _13: i32; 16 let mut _14: i32; 17 let mut _16: i32; 18 let mut _17: i32; 19 let mut _19: i32; 20 let mut _20: i32; 21 let mut _22: i32; 22 let mut _23: i32; 23 scope 1 { 24 debug _a => _3; 25 let _6: i32; 26 scope 2 { 27 debug _b => _6; 28 let _9: i32; 29 scope 3 { 30 debug _c => _9; 31 let _12: i32; 32 scope 4 { 33 debug _x => _12; 34 let _15: i32; 35 scope 5 { 36 debug _y => _15; 37 let _18: i32; 38 scope 6 { 39 debug _i => _18; 40 let _21: i32; 41 scope 7 { 42 debug _j => _21; 43 } 44 } 45 } 46 } 47 } 48 } 49 } 50 51 bb0: { 52 StorageLive(_3); 53 StorageLive(_4); 54 _4 = _1; 55 StorageLive(_5); 56 _5 = _2; 57- _3 = unchecked_add::<i32>(move _4, move _5) -> [return: bb1, unwind unreachable]; 58+ _3 = AddUnchecked(move _4, move _5); 59+ goto -> bb1; 60 } 61 62 bb1: { 63 StorageDead(_5); 64 StorageDead(_4); 65 StorageLive(_6); 66 StorageLive(_7); 67 _7 = _1; 68 StorageLive(_8); 69 _8 = _2; 70- _6 = unchecked_sub::<i32>(move _7, move _8) -> [return: bb2, unwind unreachable]; 71+ _6 = SubUnchecked(move _7, move _8); 72+ goto -> bb2; 73 } 74 75 bb2: { 76 StorageDead(_8); 77 StorageDead(_7); 78 StorageLive(_9); 79 StorageLive(_10); 80 _10 = _1; 81 StorageLive(_11); 82 _11 = _2; 83- _9 = unchecked_mul::<i32>(move _10, move _11) -> [return: bb3, unwind unreachable]; 84+ _9 = MulUnchecked(move _10, move _11); 85+ goto -> bb3; 86 } 87 88 bb3: { 89 StorageDead(_11); 90 StorageDead(_10); 91 StorageLive(_12); 92 StorageLive(_13); 93 _13 = _1; 94 StorageLive(_14); 95 _14 = _2; 96- _12 = unchecked_div::<i32>(move _13, move _14) -> [return: bb4, unwind unreachable]; 97+ _12 = Div(move _13, move _14); 98+ goto -> bb4; 99 } 100 101 bb4: { 102 StorageDead(_14); 103 StorageDead(_13); 104 StorageLive(_15); 105 StorageLive(_16); 106 _16 = _1; 107 StorageLive(_17); 108 _17 = _2; 109- _15 = unchecked_rem::<i32>(move _16, move _17) -> [return: bb5, unwind unreachable]; 110+ _15 = Rem(move _16, move _17); 111+ goto -> bb5; 112 } 113 114 bb5: { 115 StorageDead(_17); 116 StorageDead(_16); 117 StorageLive(_18); 118 StorageLive(_19); 119 _19 = _1; 120 StorageLive(_20); 121 _20 = _2; 122- _18 = unchecked_shl::<i32>(move _19, move _20) -> [return: bb6, unwind unreachable]; 123+ _18 = ShlUnchecked(move _19, move _20); 124+ goto -> bb6; 125 } 126 127 bb6: { 128 StorageDead(_20); 129 StorageDead(_19); 130 StorageLive(_21); 131 StorageLive(_22); 132 _22 = _1; 133 StorageLive(_23); 134 _23 = _2; 135- _21 = unchecked_shr::<i32>(move _22, move _23) -> [return: bb7, unwind unreachable]; 136+ _21 = ShrUnchecked(move _22, move _23); 137+ goto -> bb7; 138 } 139 140 bb7: { 141 StorageDead(_23); 142 StorageDead(_22); 143 _0 = const (); 144 StorageDead(_21); 145 StorageDead(_18); 146 StorageDead(_15); 147 StorageDead(_12); 148 StorageDead(_9); 149 StorageDead(_6); 150 StorageDead(_3); 151 return; 152 } 153 } 154 155