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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

128 lines
2.7 KiB
Rust
Raw Normal View History

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