diff options
Diffstat (limited to '')
-rw-r--r-- | tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff b/tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff new file mode 100644 index 000000000..e018563db --- /dev/null +++ b/tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff @@ -0,0 +1,82 @@ +- // MIR for `inner` before ConstProp ++ // MIR for `inner` after ConstProp + + fn inner(_1: u32) -> i64 { + debug fields => _1; + let mut _0: i64; + let mut _2: i32; + let mut _3: u32; + let mut _4: u32; + let mut _5: u32; + let mut _6: u32; + let mut _7: u32; + let mut _8: u32; + let mut _9: u32; + let mut _10: u32; + let mut _11: bool; + let mut _12: u32; + let mut _13: bool; + scope 1 (inlined imm8) { + debug x => _1; + let mut _14: u32; + let mut _15: u32; + scope 2 { + debug out => _4; + } + } + scope 3 (inlined core::num::<impl u32>::rotate_right) { + debug self => _4; + debug n => _6; + } + + bb0: { + StorageLive(_2); + StorageLive(_3); + StorageLive(_4); + StorageLive(_15); + StorageLive(_14); + _14 = Shr(_1, const 0_i32); + _15 = BitAnd(move _14, const 255_u32); + StorageDead(_14); + _4 = BitOr(const 0_u32, move _15); + StorageDead(_15); + StorageLive(_6); + StorageLive(_7); + StorageLive(_8); +- _10 = const 8_i32 as u32 (IntToInt); +- _11 = Lt(move _10, const 32_u32); +- assert(move _11, "attempt to shift right by `{}`, which would overflow", const 8_i32) -> [success: bb1, unwind unreachable]; ++ _10 = const 8_u32; ++ _11 = const true; ++ assert(const true, "attempt to shift right by `{}`, which would overflow", const 8_i32) -> [success: bb1, unwind unreachable]; + } + + bb1: { + _8 = Shr(_1, const 8_i32); + _7 = BitAnd(move _8, const 15_u32); + StorageDead(_8); +- _12 = const 1_i32 as u32 (IntToInt); +- _13 = Lt(move _12, const 32_u32); +- assert(move _13, "attempt to shift left by `{}`, which would overflow", const 1_i32) -> [success: bb2, unwind unreachable]; ++ _12 = const 1_u32; ++ _13 = const true; ++ assert(const true, "attempt to shift left by `{}`, which would overflow", const 1_i32) -> [success: bb2, unwind unreachable]; + } + + bb2: { + _6 = Shl(move _7, const 1_i32); + StorageDead(_7); + _3 = rotate_right::<u32>(_4, _6) -> [return: bb3, unwind unreachable]; + } + + bb3: { + StorageDead(_6); + StorageDead(_4); + _2 = move _3 as i32 (IntToInt); + StorageDead(_3); + _0 = move _2 as i64 (IntToInt); + StorageDead(_2); + return; + } + } + |