summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.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/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.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/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff')
-rw-r--r--tests/mir-opt/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff98
1 files changed, 98 insertions, 0 deletions
diff --git a/tests/mir-opt/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff b/tests/mir-opt/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff
new file mode 100644
index 000000000..5848288ec
--- /dev/null
+++ b/tests/mir-opt/lower_intrinsics.discriminant.LowerIntrinsics.panic-unwind.diff
@@ -0,0 +1,98 @@
+- // MIR for `discriminant` before LowerIntrinsics
++ // MIR for `discriminant` after LowerIntrinsics
+
+ fn discriminant(_1: T) -> () {
+ debug t => _1;
+ let mut _0: ();
+ let _2: <T as std::marker::DiscriminantKind>::Discriminant;
+ let mut _3: &T;
+ let _4: &T;
+ let _5: u8;
+ let mut _6: &i32;
+ let _7: &i32;
+ let _8: i32;
+ let _9: u8;
+ let mut _10: &();
+ let _11: &();
+ let _12: ();
+ let _13: isize;
+ let mut _14: &E;
+ let _15: &E;
+ let _16: E;
+ let mut _17: &E;
+ let mut _18: &();
+ let mut _19: &i32;
+
+ bb0: {
+ StorageLive(_2);
+ StorageLive(_3);
+ StorageLive(_4);
+ _4 = &_1;
+ _3 = &(*_4);
+- _2 = discriminant_value::<T>(move _3) -> [return: bb1, unwind unreachable];
++ _2 = discriminant((*_3));
++ goto -> bb1;
+ }
+
+ bb1: {
+ StorageDead(_3);
+ StorageDead(_4);
+ StorageDead(_2);
+ StorageLive(_5);
+ StorageLive(_6);
+ StorageLive(_7);
+ _19 = const _;
+ _7 = &(*_19);
+ _6 = &(*_7);
+- _5 = discriminant_value::<i32>(move _6) -> [return: bb2, unwind unreachable];
++ _5 = discriminant((*_6));
++ goto -> bb2;
+ }
+
+ bb2: {
+ StorageDead(_6);
+ StorageDead(_7);
+ StorageDead(_5);
+ StorageLive(_9);
+ StorageLive(_10);
+ StorageLive(_11);
+ _18 = const _;
+ _11 = &(*_18);
+ _10 = &(*_11);
+- _9 = discriminant_value::<()>(move _10) -> [return: bb3, unwind unreachable];
++ _9 = discriminant((*_10));
++ goto -> bb3;
+ }
+
+ bb3: {
+ StorageDead(_10);
+ StorageDead(_11);
+ StorageDead(_9);
+ StorageLive(_13);
+ StorageLive(_14);
+ StorageLive(_15);
+ _17 = const _;
+ _15 = &(*_17);
+ _14 = &(*_15);
+- _13 = discriminant_value::<E>(move _14) -> [return: bb4, unwind unreachable];
++ _13 = discriminant((*_14));
++ goto -> bb4;
+ }
+
+ bb4: {
+ StorageDead(_14);
+ StorageDead(_15);
+ StorageDead(_13);
+ _0 = const ();
+ drop(_1) -> [return: bb5, unwind: bb6];
+ }
+
+ bb5: {
+ return;
+ }
+
+ bb6 (cleanup): {
+ resume;
+ }
+ }
+