- // MIR for `variant_b::{closure#0}` before DestinationPropagation
+ // MIR for `variant_b::{closure#0}` after DestinationPropagation
- fn variant_b::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:20:25: 20:41], _2: &&(usize, usize, usize, usize)) -> bool {
+ fn variant_b::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:12:25: 12:41], _2: &&(usize, usize, usize, usize)) -> bool {
let mut _0: bool; // return place in scope 0 at $DIR/slice_filter.rs:+0:42: +0:42
let _3: usize; // in scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
let _4: usize; // in scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
let _6: usize; // in scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
let mut _7: bool; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:58
let mut _8: bool; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:48
- let mut _9: usize; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:43
- let mut _10: usize; // in scope 0 at $DIR/slice_filter.rs:+0:47: +0:48
- let mut _11: bool; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:58
- let mut _12: usize; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:53
- let mut _13: usize; // in scope 0 at $DIR/slice_filter.rs:+0:57: +0:58
- let mut _14: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:78
- let mut _15: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:68
- let mut _16: usize; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:63
- let mut _17: usize; // in scope 0 at $DIR/slice_filter.rs:+0:67: +0:68
- let mut _18: bool; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:78
- let mut _19: usize; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:73
- let mut _20: usize; // in scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
- let mut _21: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
- let mut _22: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
- let mut _23: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
- let mut _24: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
+ let mut _9: bool; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:58
+ let mut _10: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:78
+ let mut _11: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:68
+ let mut _12: bool; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:78
+ let mut _13: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
+ let mut _14: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
+ let mut _15: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
+ let mut _16: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
scope 1 {
-- debug a => _3; // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30
-- debug b => _4; // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33
-- debug c => _5; // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36
-- debug d => _6; // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39
-+ debug a => _17; // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30
-+ debug b => _19; // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33
-+ debug c => _16; // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36
-+ debug d => _20; // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39
+ debug a => _3; // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30
+ debug b => _4; // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33
+ debug c => _5; // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36
+ debug d => _6; // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39
}
bb0: {
-- StorageLive(_3); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
- _21 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
-- _3 = ((*_21).0: usize); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
-- StorageLive(_4); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
-+ _17 = ((*_21).0: usize); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
- _22 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
-- _4 = ((*_22).1: usize); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
-- StorageLive(_5); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
-+ _19 = ((*_22).1: usize); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
- _23 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
-- _5 = ((*_23).2: usize); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
-- StorageLive(_6); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
-+ _16 = ((*_23).2: usize); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
- _24 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
-- _6 = ((*_24).3: usize); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
+ _13 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
+ _3 = ((*_13).0: usize); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
+ _14 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
+ _4 = ((*_14).1: usize); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
+ _15 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
+ _5 = ((*_15).2: usize); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
+ _16 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
+ _6 = ((*_16).3: usize); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
- StorageLive(_7); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
-+ _20 = ((*_24).3: usize); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
StorageLive(_8); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
- StorageLive(_9); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
-- _9 = _3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
-+ _9 = _17; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
- StorageLive(_10); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
-- _10 = _5; // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
-+ _10 = _16; // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
- _8 = Le(move _9, move _10); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
- StorageDead(_10); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
- StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
+ _8 = Le(_3, _5); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
switchInt(move _8) -> [0: bb4, otherwise: bb5]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
}
}
bb2: {
-- StorageLive(_14); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+- StorageLive(_10); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
- StorageLive(_15); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
-- StorageLive(_16); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
-- _16 = _5; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
-- StorageLive(_17); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-- _17 = _3; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
- _15 = Le(move _16, move _17); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
-- StorageDead(_17); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-- StorageDead(_16); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
- switchInt(move _15) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+ StorageLive(_11); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
+ _11 = Le(_5, _3); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
+ switchInt(move _11) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
}
bb3: {
-- StorageDead(_14); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
+- StorageDead(_10); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
- StorageDead(_7); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-- StorageDead(_6); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-- StorageDead(_5); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-- StorageDead(_4); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-- StorageDead(_3); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-+ nop; // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
return; // scope 0 at $DIR/slice_filter.rs:+0:78: +0:78
}
bb4: {
-- StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
+- StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
goto -> bb2; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
}
bb5: {
-- StorageLive(_11); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
+- StorageLive(_9); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
- StorageLive(_12); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
-- _12 = _6; // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
-+ _12 = _20; // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
- StorageLive(_13); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
-- _13 = _4; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
-+ _13 = _19; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
- _11 = Le(move _12, move _13); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
- StorageDead(_13); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
- StorageDead(_12); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
-- _7 = move _11; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
-- StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
+ _9 = Le(_6, _4); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
+- _7 = move _9; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
+- StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
- switchInt(move _7) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
-+ switchInt(move _11) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
++ switchInt(move _9) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
}
bb6: {
-- _14 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+- _10 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+ _0 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
}
bb7: {
-- StorageLive(_18); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
-- StorageLive(_19); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
-- _19 = _4; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
-- StorageLive(_20); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-- _20 = _6; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-- _18 = Le(move _19, move _20); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
-- StorageDead(_20); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-- StorageDead(_19); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-- _14 = move _18; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+- StorageLive(_12); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
+- _12 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
+- _10 = move _12; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-+ _0 = Le(move _19, move _20); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
++ _0 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
}
bb8: {
-- StorageDead(_18); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
+- StorageDead(_12); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
- StorageDead(_15); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-- _0 = move _14; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
+ StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
+- _0 = move _10; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
+ nop; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
}