blob: d1241c6b0245c6869de2a60361509569cc0406d3 [file] [log] [blame]
- // MIR for `variant_b::{closure#0}` before ReferencePropagation
+ // MIR for `variant_b::{closure#0}` after ReferencePropagation
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 _5: usize; // in scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
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
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
}
bb0: {
_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
_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
_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
_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
StorageLive(_7); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
StorageLive(_8); // scope 1 at $DIR/slice_filter.rs:+0:42: +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
}
bb1: {
_0 = const true; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
}
bb2: {
StorageLive(_14); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
StorageLive(_15); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
_15 = Le(_5, _3); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
switchInt(move _15) -> [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(_7); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
return; // scope 0 at $DIR/slice_filter.rs:+0:78: +0:78
}
bb4: {
_7 = const false; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
StorageDead(_11); // 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
_11 = Le(_6, _4); // scope 1 at $DIR/slice_filter.rs:+0:52: +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
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
}
bb6: {
_14 = 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
_18 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
_14 = move _18; // 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(_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
goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
}
}