blob: 548767dca0d0aa239bff0632bc4f4c4903ff3ef0 [file] [log] [blame]
// MIR for `variant_a::{closure#0}` after PreCodegen
fn variant_a::{closure#0}(_1: &mut {closure@$DIR/slice_filter.rs:8:25: 8:39}, _2: &&(usize, usize, usize, usize)) -> bool {
let mut _0: bool;
let mut _3: &(usize, usize, usize, usize);
let _4: &usize;
let mut _5: &(usize, usize, usize, usize);
let _6: &usize;
let mut _7: &(usize, usize, usize, usize);
let _8: &usize;
let mut _9: &(usize, usize, usize, usize);
let _10: &usize;
let mut _11: &&usize;
let _12: &usize;
let mut _13: &&usize;
let mut _18: bool;
let mut _19: &&usize;
let _20: &usize;
let mut _21: &&usize;
let mut _26: bool;
let mut _27: &&usize;
let _28: &usize;
let mut _29: &&usize;
let mut _34: bool;
let mut _35: &&usize;
let _36: &usize;
let mut _37: &&usize;
scope 1 {
debug a => _4;
debug b => _6;
debug c => _8;
debug d => _10;
scope 2 (inlined cmp::impls::<impl PartialOrd for &usize>::le) {
debug self => _11;
debug other => _13;
let mut _14: &usize;
let mut _15: &usize;
scope 3 (inlined cmp::impls::<impl PartialOrd for usize>::le) {
debug self => _14;
debug other => _15;
let mut _16: usize;
let mut _17: usize;
}
}
scope 4 (inlined cmp::impls::<impl PartialOrd for &usize>::le) {
debug self => _19;
debug other => _21;
let mut _22: &usize;
let mut _23: &usize;
scope 5 (inlined cmp::impls::<impl PartialOrd for usize>::le) {
debug self => _22;
debug other => _23;
let mut _24: usize;
let mut _25: usize;
}
}
scope 6 (inlined cmp::impls::<impl PartialOrd for &usize>::le) {
debug self => _27;
debug other => _29;
let mut _30: &usize;
let mut _31: &usize;
scope 7 (inlined cmp::impls::<impl PartialOrd for usize>::le) {
debug self => _30;
debug other => _31;
let mut _32: usize;
let mut _33: usize;
}
}
scope 8 (inlined cmp::impls::<impl PartialOrd for &usize>::le) {
debug self => _35;
debug other => _37;
let mut _38: &usize;
let mut _39: &usize;
scope 9 (inlined cmp::impls::<impl PartialOrd for usize>::le) {
debug self => _38;
debug other => _39;
let mut _40: usize;
let mut _41: usize;
}
}
}
bb0: {
StorageLive(_4);
_3 = deref_copy (*_2);
_4 = &((*_3).0: usize);
StorageLive(_6);
_5 = deref_copy (*_2);
_6 = &((*_5).1: usize);
StorageLive(_8);
_7 = deref_copy (*_2);
_8 = &((*_7).2: usize);
StorageLive(_10);
_9 = deref_copy (*_2);
_10 = &((*_9).3: usize);
StorageLive(_18);
StorageLive(_11);
_11 = &_4;
StorageLive(_13);
StorageLive(_12);
_12 = _8;
_13 = &_12;
StorageLive(_14);
StorageLive(_15);
_14 = deref_copy _4;
_15 = deref_copy _12;
StorageLive(_16);
_16 = (*_14);
StorageLive(_17);
_17 = (*_15);
_18 = Le(move _16, move _17);
StorageDead(_17);
StorageDead(_16);
StorageDead(_15);
StorageDead(_14);
switchInt(move _18) -> [0: bb1, otherwise: bb2];
}
bb1: {
StorageDead(_12);
StorageDead(_13);
StorageDead(_11);
goto -> bb4;
}
bb2: {
StorageDead(_12);
StorageDead(_13);
StorageDead(_11);
StorageLive(_26);
StorageLive(_19);
_19 = &_10;
StorageLive(_21);
StorageLive(_20);
_20 = _6;
_21 = &_20;
StorageLive(_22);
StorageLive(_23);
_22 = deref_copy _10;
_23 = deref_copy _20;
StorageLive(_24);
_24 = (*_22);
StorageLive(_25);
_25 = (*_23);
_26 = Le(move _24, move _25);
StorageDead(_25);
StorageDead(_24);
StorageDead(_23);
StorageDead(_22);
switchInt(move _26) -> [0: bb3, otherwise: bb8];
}
bb3: {
StorageDead(_20);
StorageDead(_21);
StorageDead(_19);
goto -> bb4;
}
bb4: {
StorageLive(_34);
StorageLive(_27);
_27 = &_8;
StorageLive(_29);
StorageLive(_28);
_28 = _4;
_29 = &_28;
StorageLive(_30);
StorageLive(_31);
_30 = deref_copy _8;
_31 = deref_copy _28;
StorageLive(_32);
_32 = (*_30);
StorageLive(_33);
_33 = (*_31);
_34 = Le(move _32, move _33);
StorageDead(_33);
StorageDead(_32);
StorageDead(_31);
StorageDead(_30);
switchInt(move _34) -> [0: bb5, otherwise: bb6];
}
bb5: {
StorageDead(_28);
StorageDead(_29);
StorageDead(_27);
_0 = const false;
goto -> bb7;
}
bb6: {
StorageDead(_28);
StorageDead(_29);
StorageDead(_27);
StorageLive(_35);
_35 = &_6;
StorageLive(_37);
StorageLive(_36);
_36 = _10;
_37 = &_36;
StorageLive(_38);
StorageLive(_39);
_38 = deref_copy _6;
_39 = deref_copy _36;
StorageLive(_40);
_40 = (*_38);
StorageLive(_41);
_41 = (*_39);
_0 = Le(move _40, move _41);
StorageDead(_41);
StorageDead(_40);
StorageDead(_39);
StorageDead(_38);
StorageDead(_36);
StorageDead(_37);
StorageDead(_35);
goto -> bb7;
}
bb7: {
StorageDead(_34);
goto -> bb9;
}
bb8: {
StorageDead(_20);
StorageDead(_21);
StorageDead(_19);
_0 = const true;
goto -> bb9;
}
bb9: {
StorageDead(_26);
StorageDead(_18);
StorageDead(_10);
StorageDead(_8);
StorageDead(_6);
StorageDead(_4);
return;
}
}