rust/tests/mir-opt/pre-codegen/chained_comparison.naive.PreCodegen.after.mir

137 lines
2.7 KiB
Rust
Raw Normal View History

2023-04-14 13:23:07 -05:00
// MIR for `naive` after PreCodegen
fn naive(_1: &Blueprint, _2: &Blueprint) -> bool {
2023-06-06 08:47:00 -05:00
debug a => _1;
debug b => _2;
let mut _0: bool;
let mut _3: u32;
let mut _4: u32;
let mut _5: bool;
let mut _6: bool;
2023-06-06 08:47:00 -05:00
let mut _7: u32;
let mut _8: u32;
2023-06-06 08:47:00 -05:00
let mut _9: bool;
let mut _10: bool;
2023-06-06 08:47:00 -05:00
let mut _11: u32;
let mut _12: u32;
2023-06-06 08:47:00 -05:00
let mut _13: bool;
let mut _14: bool;
2023-06-06 08:47:00 -05:00
let mut _15: u32;
let mut _16: u32;
2023-06-06 08:47:00 -05:00
let mut _17: bool;
let mut _18: u32;
let mut _19: u32;
let mut _20: bool;
2023-04-14 13:23:07 -05:00
bb0: {
StorageLive(_14);
StorageLive(_10);
StorageLive(_6);
2023-06-06 08:47:00 -05:00
StorageLive(_5);
StorageLive(_3);
_3 = ((*_1).0: u32);
StorageLive(_4);
_4 = ((*_2).0: u32);
_5 = Eq(move _3, move _4);
StorageDead(_4);
StorageDead(_3);
switchInt(move _5) -> [0: bb1, otherwise: bb2];
2023-04-14 13:23:07 -05:00
}
bb1: {
_6 = const false;
2023-06-06 08:47:00 -05:00
goto -> bb3;
2023-04-14 13:23:07 -05:00
}
bb2: {
StorageLive(_9);
2023-06-06 08:47:00 -05:00
StorageLive(_7);
_7 = ((*_1).1: u32);
StorageLive(_8);
_8 = ((*_2).1: u32);
_9 = Eq(move _7, move _8);
2023-06-06 08:47:00 -05:00
StorageDead(_8);
StorageDead(_7);
_6 = move _9;
goto -> bb3;
2023-04-14 13:23:07 -05:00
}
bb3: {
2023-06-06 08:47:00 -05:00
StorageDead(_9);
StorageDead(_5);
switchInt(move _6) -> [0: bb4, otherwise: bb5];
2023-04-14 13:23:07 -05:00
}
bb4: {
_10 = const false;
goto -> bb6;
2023-04-14 13:23:07 -05:00
}
bb5: {
StorageLive(_13);
StorageLive(_11);
_11 = ((*_1).2: u32);
StorageLive(_12);
_12 = ((*_2).2: u32);
_13 = Eq(move _11, move _12);
StorageDead(_12);
StorageDead(_11);
_10 = move _13;
goto -> bb6;
2023-04-14 13:23:07 -05:00
}
bb6: {
2023-06-06 08:47:00 -05:00
StorageDead(_13);
StorageDead(_6);
switchInt(move _10) -> [0: bb7, otherwise: bb8];
2023-04-14 13:23:07 -05:00
}
2023-06-01 01:08:25 -05:00
bb7: {
_14 = const false;
2023-06-06 08:47:00 -05:00
goto -> bb9;
2023-04-14 13:23:07 -05:00
}
2023-06-01 01:08:25 -05:00
bb8: {
StorageLive(_17);
StorageLive(_15);
_15 = ((*_1).3: u32);
StorageLive(_16);
_16 = ((*_2).3: u32);
_17 = Eq(move _15, move _16);
StorageDead(_16);
StorageDead(_15);
_14 = move _17;
goto -> bb9;
}
bb9: {
StorageDead(_17);
StorageDead(_10);
switchInt(move _14) -> [0: bb10, otherwise: bb11];
}
bb10: {
_0 = const false;
goto -> bb12;
}
bb11: {
2023-06-06 08:47:00 -05:00
StorageLive(_20);
StorageLive(_18);
_18 = ((*_1).4: u32);
StorageLive(_19);
_19 = ((*_2).4: u32);
_20 = Eq(move _18, move _19);
StorageDead(_19);
StorageDead(_18);
_0 = move _20;
goto -> bb12;
2023-04-14 13:23:07 -05:00
}
bb12: {
2023-06-06 08:47:00 -05:00
StorageDead(_20);
StorageDead(_14);
2023-06-06 08:47:00 -05:00
return;
2023-04-14 13:23:07 -05:00
}
}