From dc0db358abe19481e475e10c32149b53370f1a1c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 30 May 2024 05:57:31 +0200 Subject: Merging upstream version 1.72.1+dfsg1. Signed-off-by: Daniel Baumann --- ...oint.foo.SimplifyLocals-final.panic-unwind.diff | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tests/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff (limited to 'tests/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff') diff --git a/tests/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff b/tests/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff new file mode 100644 index 000000000..ba5262b0e --- /dev/null +++ b/tests/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff @@ -0,0 +1,50 @@ +- // MIR for `foo` before SimplifyLocals-final ++ // MIR for `foo` after SimplifyLocals-final + + fn foo() -> () { + let mut _0: (); + let mut _1: (std::option::Option, std::option::Option); + let mut _2: std::option::Option; + let mut _3: std::option::Option; + let mut _4: isize; + let mut _5: isize; + scope 1 { + debug a => _6; + let _6: u8; + } + + bb0: { + StorageLive(_1); + StorageLive(_2); + _2 = Option::::None; + StorageLive(_3); + _3 = Option::::None; + _1 = (move _2, move _3); + StorageDead(_3); + StorageDead(_2); + _5 = discriminant((_1.0: std::option::Option)); + switchInt(move _5) -> [1: bb1, otherwise: bb3]; + } + + bb1: { + _4 = discriminant((_1.1: std::option::Option)); + switchInt(move _4) -> [0: bb2, otherwise: bb3]; + } + + bb2: { + StorageLive(_6); + _6 = (((_1.0: std::option::Option) as Some).0: u8); + StorageDead(_6); + goto -> bb3; + } + + bb3: { + drop(_1) -> [return: bb4, unwind continue]; + } + + bb4: { + StorageDead(_1); + return; + } + } + -- cgit v1.2.3