correct comment
This commit is contained in:
parent
0e06456ecb
commit
2530274023
@ -21,7 +21,7 @@ use std::{borrow::Cow, fmt::Debug};
|
||||
/// let y: Option<()>;
|
||||
/// let discriminant_x = // get discriminant of x
|
||||
/// let discriminant_y = // get discriminant of y
|
||||
/// if discriminant_x != discriminant_y {1} else {0}
|
||||
/// if discriminant_x != discriminant_y || discriminant_x == None {1} else {0}
|
||||
/// ```
|
||||
pub struct EarlyOtherwiseBranch;
|
||||
|
||||
|
@ -1,88 +0,0 @@
|
||||
- // MIR for `opt1` before EarlyOtherwiseBranch
|
||||
+ // MIR for `opt1` after EarlyOtherwiseBranch
|
||||
|
||||
fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch.rs:4:9: 4:10
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch.rs:4:27: 4:28
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch.rs:4:47: 4:52
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:5:12: 5:13
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:5:14: 5:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
let _8: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
+ let mut _10: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
+ let mut _11: bool; // in scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
scope 1 {
|
||||
debug a => _8; // in scope 1 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
debug b => _9; // in scope 1 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch.rs:5:12: 5:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch.rs:5:12: 5:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch.rs:5:14: 5:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch.rs:5:14: 5:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
|
||||
_7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
- switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ _10 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ _11 = Ne(_10, _7); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ switchInt(move _11) -> [false: bb6, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch.rs:7:14: 7:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:7:14: 7:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:5:5: 8:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageLive(_8); // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
_8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
_9 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
StorageDead(_8); // scope 0 at $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:5:5: 8:6
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch.rs:9:1: 9:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch.rs:9:2: 9:2
|
||||
+ }
|
||||
+
|
||||
+ bb5 (cleanup): {
|
||||
+ resume; // scope 0 at $DIR/early_otherwise_branch.rs:4:1: 9:2
|
||||
+ }
|
||||
+
|
||||
+ bb6: {
|
||||
+ switchInt(_7) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
}
|
||||
}
|
||||
|
@ -1,88 +0,0 @@
|
||||
- // MIR for `opt1` before EarlyOtherwiseBranch
|
||||
+ // MIR for `opt1` after EarlyOtherwiseBranch
|
||||
|
||||
fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch.rs:4:9: 4:10
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch.rs:4:27: 4:28
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch.rs:4:47: 4:52
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:5:12: 5:13
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:5:14: 5:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
let _8: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
+ let mut _10: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
+ let mut _11: bool; // in scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
scope 1 {
|
||||
debug a => _8; // in scope 1 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
debug b => _9; // in scope 1 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch.rs:5:12: 5:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch.rs:5:12: 5:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch.rs:5:14: 5:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch.rs:5:14: 5:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:5:11: 5:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
|
||||
_7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
- switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ _10 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ _11 = Ne(_10, _7); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
+ switchInt(move _11) -> [false: bb6, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:10: 6:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch.rs:7:14: 7:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:7:14: 7:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:5:5: 8:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageLive(_8); // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
_8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
_9 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:6:24: 6:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
StorageDead(_8); // scope 0 at $DIR/early_otherwise_branch.rs:6:31: 6:32
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:5:5: 8:6
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch.rs:9:1: 9:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch.rs:9:2: 9:2
|
||||
+ }
|
||||
+
|
||||
+ bb5 (cleanup): {
|
||||
+ resume; // scope 0 at $DIR/early_otherwise_branch.rs:4:1: 9:2
|
||||
+ }
|
||||
+
|
||||
+ bb6: {
|
||||
+ switchInt(_7) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:6:19: 6:26
|
||||
}
|
||||
}
|
||||
|
@ -1,105 +0,0 @@
|
||||
- // MIR for `opt2` before EarlyOtherwiseBranch
|
||||
+ // MIR for `opt2` after EarlyOtherwiseBranch
|
||||
|
||||
fn opt2(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch.rs:12:9: 12:10
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch.rs:12:27: 12:28
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch.rs:12:47: 12:52
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:13:12: 13:13
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:13:14: 13:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:19: 14:26
|
||||
let mut _8: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
let _10: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
+ let mut _11: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
+ let mut _12: bool; // in scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
scope 1 {
|
||||
debug a => _9; // in scope 1 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
debug b => _10; // in scope 1 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch.rs:13:12: 13:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch.rs:13:12: 13:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch.rs:13:14: 13:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch.rs:13:14: 13:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
|
||||
_8 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
- switchInt(move _8) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ _11 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ StorageLive(_12); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ _12 = Ne(_11, _8); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ StorageDead(_11); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ switchInt(move _12) -> [false: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
switchInt(move _6) -> [0_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch.rs:16:14: 16:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:16:14: 16:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||
goto -> bb6; // scope 0 at $DIR/early_otherwise_branch.rs:13:5: 17:6
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_7 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:19: 14:26
|
||||
switchInt(move _7) -> [1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:19: 14:26
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
_9 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
_10 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||
StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
goto -> bb6; // scope 0 at $DIR/early_otherwise_branch.rs:13:5: 17:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
_0 = const 0_usize; // scope 0 at $DIR/early_otherwise_branch.rs:15:25: 15:26
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:15:25: 15:26
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||
goto -> bb6; // scope 0 at $DIR/early_otherwise_branch.rs:13:5: 17:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch.rs:18:1: 18:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch.rs:18:2: 18:2
|
||||
+ }
|
||||
+
|
||||
+ bb7 (cleanup): {
|
||||
+ resume; // scope 0 at $DIR/early_otherwise_branch.rs:12:1: 18:2
|
||||
+ }
|
||||
+
|
||||
+ bb8: {
|
||||
+ switchInt(_8) -> [0_isize: bb5, 1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
}
|
||||
}
|
||||
|
@ -1,105 +0,0 @@
|
||||
- // MIR for `opt2` before EarlyOtherwiseBranch
|
||||
+ // MIR for `opt2` after EarlyOtherwiseBranch
|
||||
|
||||
fn opt2(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch.rs:12:9: 12:10
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch.rs:12:27: 12:28
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch.rs:12:47: 12:52
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:13:12: 13:13
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:13:14: 13:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:19: 14:26
|
||||
let mut _8: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
let _10: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
+ let mut _11: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
+ let mut _12: bool; // in scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
scope 1 {
|
||||
debug a => _9; // in scope 1 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
debug b => _10; // in scope 1 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch.rs:13:12: 13:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch.rs:13:12: 13:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch.rs:13:14: 13:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch.rs:13:14: 13:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:13:11: 13:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch.rs:13:15: 13:16
|
||||
_8 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
- switchInt(move _8) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ _11 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ StorageLive(_12); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ _12 = Ne(_11, _8); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ StorageDead(_11); // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
+ switchInt(move _12) -> [false: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:10: 14:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
switchInt(move _6) -> [0_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch.rs:16:14: 16:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:16:14: 16:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||
goto -> bb6; // scope 0 at $DIR/early_otherwise_branch.rs:13:5: 17:6
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_7 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:14:19: 14:26
|
||||
switchInt(move _7) -> [1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:14:19: 14:26
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
_9 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:14:15: 14:16
|
||||
StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
_10 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:14:24: 14:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||
StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch.rs:14:31: 14:32
|
||||
goto -> bb6; // scope 0 at $DIR/early_otherwise_branch.rs:13:5: 17:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
_0 = const 0_usize; // scope 0 at $DIR/early_otherwise_branch.rs:15:25: 15:26
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch.rs:15:25: 15:26
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||
goto -> bb6; // scope 0 at $DIR/early_otherwise_branch.rs:13:5: 17:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch.rs:18:1: 18:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch.rs:18:2: 18:2
|
||||
+ }
|
||||
+
|
||||
+ bb7 (cleanup): {
|
||||
+ resume; // scope 0 at $DIR/early_otherwise_branch.rs:12:1: 18:2
|
||||
+ }
|
||||
+
|
||||
+ bb8: {
|
||||
+ switchInt(_8) -> [0_isize: bb5, 1_isize: bb4, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch.rs:15:16: 15:20
|
||||
}
|
||||
}
|
||||
|
@ -1,117 +0,0 @@
|
||||
- // MIR for `opt1` before EarlyOtherwiseBranch
|
||||
+ // MIR for `opt1` after EarlyOtherwiseBranch
|
||||
|
||||
fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>, _3: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:9: 5:10
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:27: 5:28
|
||||
debug z => _3; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:44: 5:45
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:64: 5:69
|
||||
let mut _4: (std::option::Option<usize>, std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
|
||||
let mut _6: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
|
||||
let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
|
||||
let mut _8: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
let mut _9: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
let mut _10: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
let _11: usize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
let _12: usize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
let _13: usize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
+ let mut _14: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ let mut _15: bool; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ let mut _16: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
+ let mut _17: bool; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
scope 1 {
|
||||
debug a => _11; // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
debug b => _12; // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
debug c => _13; // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
|
||||
_5 = _1; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
|
||||
StorageLive(_6); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
|
||||
_6 = _2; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
|
||||
StorageLive(_7); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
|
||||
_7 = _3; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
|
||||
(_4.0: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
(_4.1: std::option::Option<usize>) = move _6; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
(_4.2: std::option::Option<usize>) = move _7; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
StorageDead(_7); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
|
||||
StorageDead(_6); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
|
||||
_10 = discriminant((_4.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
- switchInt(move _10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ StorageLive(_14); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ _14 = discriminant((_4.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ StorageLive(_15); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ _15 = Ne(_14, _10); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ StorageDead(_14); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ switchInt(move _15) -> [false: bb7, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:8:14: 8:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_3_element_tuple.rs:8:14: 8:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||
goto -> bb5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:5: 9:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_9 = discriminant((_4.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
- switchInt(move _9) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ StorageLive(_16); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ _16 = discriminant((_4.2: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ StorageLive(_17); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ _17 = Ne(_16, _9); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ StorageDead(_16); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ switchInt(move _17) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_8 = discriminant((_4.2: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
switchInt(move _8) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
_11 = (((_4.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
StorageLive(_12); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
_12 = (((_4.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
StorageLive(_13); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
_13 = (((_4.2: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||
StorageDead(_13); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
StorageDead(_12); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
StorageDead(_11); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
goto -> bb5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:5: 9:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:10:1: 10:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:10:2: 10:2
|
||||
+ }
|
||||
+
|
||||
+ bb6 (cleanup): {
|
||||
+ resume; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:1: 10:2
|
||||
+ }
|
||||
+
|
||||
+ bb7: {
|
||||
+ switchInt(_10) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ }
|
||||
+
|
||||
+ bb8: {
|
||||
+ switchInt(_9) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
}
|
||||
}
|
||||
|
@ -1,117 +0,0 @@
|
||||
- // MIR for `opt1` before EarlyOtherwiseBranch
|
||||
+ // MIR for `opt1` after EarlyOtherwiseBranch
|
||||
|
||||
fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>, _3: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:9: 5:10
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:27: 5:28
|
||||
debug z => _3; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:44: 5:45
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:64: 5:69
|
||||
let mut _4: (std::option::Option<usize>, std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
|
||||
let mut _6: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
|
||||
let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
|
||||
let mut _8: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
let mut _9: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
let mut _10: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
let _11: usize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
let _12: usize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
let _13: usize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
+ let mut _14: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ let mut _15: bool; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ let mut _16: isize; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
+ let mut _17: bool; // in scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
scope 1 {
|
||||
debug a => _11; // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
debug b => _12; // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
debug c => _13; // in scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
|
||||
_5 = _1; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:12: 6:13
|
||||
StorageLive(_6); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
|
||||
_6 = _2; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:14: 6:15
|
||||
StorageLive(_7); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
|
||||
_7 = _3; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:16: 6:17
|
||||
(_4.0: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
(_4.1: std::option::Option<usize>) = move _6; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
(_4.2: std::option::Option<usize>) = move _7; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:11: 6:18
|
||||
StorageDead(_7); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
|
||||
StorageDead(_6); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:17: 6:18
|
||||
_10 = discriminant((_4.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
- switchInt(move _10) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ StorageLive(_14); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ _14 = discriminant((_4.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ StorageLive(_15); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ _15 = Ne(_14, _10); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ StorageDead(_14); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
+ switchInt(move _15) -> [false: bb7, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:10: 7:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:8:14: 8:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_3_element_tuple.rs:8:14: 8:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||
goto -> bb5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:5: 9:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_9 = discriminant((_4.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
- switchInt(move _9) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ StorageLive(_16); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ _16 = discriminant((_4.2: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ StorageLive(_17); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ _17 = Ne(_16, _9); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ StorageDead(_16); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ switchInt(move _17) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_8 = discriminant((_4.2: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
switchInt(move _8) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
_11 = (((_4.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:15: 7:16
|
||||
StorageLive(_12); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
_12 = (((_4.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:24: 7:25
|
||||
StorageLive(_13); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
_13 = (((_4.2: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:33: 7:34
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||
StorageDead(_13); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
StorageDead(_12); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
StorageDead(_11); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:40: 7:41
|
||||
goto -> bb5; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:6:5: 9:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:10:1: 10:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:10:2: 10:2
|
||||
+ }
|
||||
+
|
||||
+ bb6 (cleanup): {
|
||||
+ resume; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:5:1: 10:2
|
||||
+ }
|
||||
+
|
||||
+ bb7: {
|
||||
+ switchInt(_10) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:19: 7:26
|
||||
+ }
|
||||
+
|
||||
+ bb8: {
|
||||
+ switchInt(_9) -> [1_isize: bb4, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_3_element_tuple.rs:7:28: 7:35
|
||||
}
|
||||
}
|
||||
|
@ -1,114 +0,0 @@
|
||||
- // MIR for `noopt1` before EarlyOtherwiseBranch
|
||||
+ // MIR for `noopt1` after EarlyOtherwiseBranch
|
||||
|
||||
fn noopt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:12
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:29: 8:30
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:49: 8:54
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
|
||||
let mut _8: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
|
||||
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
let _10: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
let _11: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
let _12: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
scope 1 {
|
||||
debug a => _9; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
debug b => _10; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
}
|
||||
scope 2 {
|
||||
debug a => _11; // in scope 2 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
}
|
||||
scope 3 {
|
||||
debug b => _12; // in scope 3 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
|
||||
_8 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
|
||||
switchInt(move _8) -> [0_isize: bb1, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
|
||||
switchInt(move _6) -> [0_isize: bb2, otherwise: bb6]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 3_usize; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:13:25: 13:26
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000003))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:13:25: 13:26
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_7 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
|
||||
switchInt(move _7) -> [0_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
_9 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
_10 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||
StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
_11 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
_0 = const 1_usize; // scope 2 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||
StorageDead(_11); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageLive(_12); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
_12 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
_0 = const 2_usize; // scope 3 at $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000002))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000002)) }
|
||||
StorageDead(_12); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb7: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:15:1: 15:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:15:2: 15:2
|
||||
}
|
||||
}
|
||||
|
@ -1,114 +0,0 @@
|
||||
- // MIR for `noopt1` before EarlyOtherwiseBranch
|
||||
+ // MIR for `noopt1` after EarlyOtherwiseBranch
|
||||
|
||||
fn noopt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:11: 8:12
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:29: 8:30
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:8:49: 8:54
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
|
||||
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
|
||||
let mut _8: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
|
||||
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
let _10: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
let _11: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
let _12: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
scope 1 {
|
||||
debug a => _9; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
debug b => _10; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
}
|
||||
scope 2 {
|
||||
debug a => _11; // in scope 2 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
}
|
||||
scope 3 {
|
||||
debug b => _12; // in scope 3 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:12: 9:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:14: 9:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:11: 9:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:15: 9:16
|
||||
_8 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
|
||||
switchInt(move _8) -> [0_isize: bb1, otherwise: bb3]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:10: 10:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
|
||||
switchInt(move _6) -> [0_isize: bb2, otherwise: bb6]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:16: 12:23
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_0 = const 3_usize; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:13:25: 13:26
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000003))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:13:25: 13:26
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb3: {
|
||||
_7 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
|
||||
switchInt(move _7) -> [0_isize: bb5, otherwise: bb4]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:19: 10:26
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
_9 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:15: 10:16
|
||||
StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
_10 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:24: 10:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||
StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:10:31: 10:32
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb5: {
|
||||
StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
_11 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:15: 11:16
|
||||
_0 = const 1_usize; // scope 2 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||
StorageDead(_11); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:11:28: 11:29
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb6: {
|
||||
StorageLive(_12); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
_12 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:21: 12:22
|
||||
_0 = const 2_usize; // scope 3 at $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000002))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000002)) }
|
||||
StorageDead(_12); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:12:28: 12:29
|
||||
goto -> bb7; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:9:5: 14:6
|
||||
}
|
||||
|
||||
bb7: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:15:1: 15:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:15:2: 15:2
|
||||
}
|
||||
}
|
||||
|
@ -1,72 +0,0 @@
|
||||
- // MIR for `noopt2` before EarlyOtherwiseBranch
|
||||
+ // MIR for `noopt2` after EarlyOtherwiseBranch
|
||||
|
||||
fn noopt2(_1: std::option::Option<usize>, _2: std::option::Option<bool>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:12
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:29: 19:30
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:48: 19:53
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<bool>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
|
||||
let mut _5: std::option::Option<bool>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
|
||||
let _8: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
let _9: bool; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
scope 1 {
|
||||
debug a => _8; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
debug b => _9; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
(_3.1: std::option::Option<bool>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
|
||||
_7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
|
||||
switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:22:14: 22:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:22:14: 22:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000001)) }
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:5: 23:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_6 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
|
||||
switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageLive(_8); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
_8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
_9 = (((_3.1: std::option::Option<bool>) as Some).0: bool); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x00000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x00000000)) }
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
StorageDead(_8); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:5: 23:6
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:24:1: 24:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:24:2: 24:2
|
||||
}
|
||||
}
|
||||
|
@ -1,72 +0,0 @@
|
||||
- // MIR for `noopt2` before EarlyOtherwiseBranch
|
||||
+ // MIR for `noopt2` after EarlyOtherwiseBranch
|
||||
|
||||
fn noopt2(_1: std::option::Option<usize>, _2: std::option::Option<bool>) -> usize {
|
||||
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:11: 19:12
|
||||
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:29: 19:30
|
||||
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch_noopt.rs:19:48: 19:53
|
||||
let mut _3: (std::option::Option<usize>, std::option::Option<bool>); // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
|
||||
let mut _5: std::option::Option<bool>; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
|
||||
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
|
||||
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
|
||||
let _8: usize; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
let _9: bool; // in scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
scope 1 {
|
||||
debug a => _8; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
debug b => _9; // in scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
|
||||
_4 = _1; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:12: 20:13
|
||||
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
|
||||
_5 = _2; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:14: 20:15
|
||||
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
(_3.1: std::option::Option<bool>) = move _5; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:11: 20:16
|
||||
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
|
||||
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:15: 20:16
|
||||
_7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
|
||||
switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:10: 21:17
|
||||
}
|
||||
|
||||
bb1: {
|
||||
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:22:14: 22:15
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000001))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:22:14: 22:15
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:5: 23:6
|
||||
}
|
||||
|
||||
bb2: {
|
||||
_6 = discriminant((_3.1: std::option::Option<bool>)); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
|
||||
switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:19: 21:26
|
||||
}
|
||||
|
||||
bb3: {
|
||||
StorageLive(_8); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
_8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:15: 21:16
|
||||
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
_9 = (((_3.1: std::option::Option<bool>) as Some).0: bool); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:24: 21:25
|
||||
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
// ty::Const
|
||||
// + ty: usize
|
||||
// + val: Value(Scalar(0x0000000000000000))
|
||||
// mir::Constant
|
||||
// + span: $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
|
||||
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
StorageDead(_8); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:21:31: 21:32
|
||||
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:20:5: 23:6
|
||||
}
|
||||
|
||||
bb4: {
|
||||
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch_noopt.rs:24:1: 24:2
|
||||
return; // scope 0 at $DIR/early_otherwise_branch_noopt.rs:24:2: 24:2
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user