From 014b29eecfbe79e4a6ca6d845907ebebeee53f1d Mon Sep 17 00:00:00 2001 From: Camille GILLOT Date: Sun, 26 Feb 2023 13:42:28 +0000 Subject: Remove ConstGoto and SeparateConstSwitch. --- ...ate_const_switch.too_complex.JumpThreading.diff | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 tests/mir-opt/separate_const_switch.too_complex.JumpThreading.diff (limited to 'tests/mir-opt/separate_const_switch.too_complex.JumpThreading.diff') diff --git a/tests/mir-opt/separate_const_switch.too_complex.JumpThreading.diff b/tests/mir-opt/separate_const_switch.too_complex.JumpThreading.diff new file mode 100644 index 00000000000..1ac527e9338 --- /dev/null +++ b/tests/mir-opt/separate_const_switch.too_complex.JumpThreading.diff @@ -0,0 +1,84 @@ +- // MIR for `too_complex` before JumpThreading ++ // MIR for `too_complex` after JumpThreading + + fn too_complex(_1: Result) -> Option { + debug x => _1; + let mut _0: std::option::Option; + let mut _2: std::ops::ControlFlow; + let mut _3: isize; + let _4: i32; + let _5: usize; + let mut _6: isize; + let _7: i32; + let _8: usize; + scope 1 { + debug v => _4; + } + scope 2 { + debug r => _5; + } + scope 3 { + debug v => _7; + } + scope 4 { + debug r => _8; + } + + bb0: { + StorageLive(_2); + _3 = discriminant(_1); + switchInt(move _3) -> [0: bb2, 1: bb1, otherwise: bb7]; + } + + bb1: { + _5 = ((_1 as Err).0: usize); + _2 = ControlFlow::::Break(_5); +- goto -> bb3; ++ goto -> bb8; + } + + bb2: { + _4 = ((_1 as Ok).0: i32); + _2 = ControlFlow::::Continue(_4); + goto -> bb3; + } + + bb3: { + _6 = discriminant(_2); +- switchInt(move _6) -> [0: bb5, 1: bb4, otherwise: bb7]; ++ goto -> bb5; + } + + bb4: { + StorageLive(_8); + _8 = ((_2 as Break).0: usize); + _0 = const Option::::None; + StorageDead(_8); + goto -> bb6; + } + + bb5: { + _7 = ((_2 as Continue).0: i32); + _0 = Option::::Some(_7); + goto -> bb6; + } + + bb6: { + StorageDead(_2); + return; + } + + bb7: { + unreachable; ++ } ++ ++ bb8: { ++ _6 = discriminant(_2); ++ goto -> bb4; + } + } + + ALLOC0 (size: 8, align: 4) { + 00 00 00 00 __ __ __ __ │ ....░░░░ + } + -- cgit 1.4.1-3-g733a5