summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff')
-rw-r--r--tests/mir-opt/issue_101973.inner.ConstProp.panic-abort.diff82
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;
+ }
+ }
+