Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 0e06456

Browse files
committed
bless
1 parent 0483413 commit 0e06456

6 files changed

+265
-349
lines changed
Lines changed: 48 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,76 @@
11
- // MIR for `opt1` before EarlyOtherwiseBranch
22
+ // MIR for `opt1` after EarlyOtherwiseBranch
33

4-
fn opt1(_1: std::option::Option<usize>, _2: std::option::Option<usize>) -> usize {
5-
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch.rs:5:9: 5:10
6-
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch.rs:5:27: 5:28
7-
let mut _0: usize; // return place in scope 0 at $DIR/early_otherwise_branch.rs:5:47: 5:52
8-
let mut _3: (std::option::Option<usize>, std::option::Option<usize>); // in scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
9-
let mut _4: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:6:12: 6:13
10-
let mut _5: std::option::Option<usize>; // in scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
11-
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
12-
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
13-
let _8: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:7:15: 7:16
14-
let _9: usize; // in scope 0 at $DIR/early_otherwise_branch.rs:7:24: 7:25
15-
+ let mut _10: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
16-
+ let mut _11: bool; // in scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
4+
fn opt1(_1: Option<u32>, _2: Option<u32>) -> u32 {
5+
debug x => _1; // in scope 0 at $DIR/early_otherwise_branch.rs:3:9: 3:10
6+
debug y => _2; // in scope 0 at $DIR/early_otherwise_branch.rs:3:25: 3:26
7+
let mut _0: u32; // return place in scope 0 at $DIR/early_otherwise_branch.rs:3:44: 3:47
8+
let mut _3: (std::option::Option<u32>, std::option::Option<u32>); // in scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
9+
let mut _4: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
10+
let mut _5: std::option::Option<u32>; // in scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
11+
let mut _6: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
12+
let mut _7: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
13+
let _8: u32; // in scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
14+
let _9: u32; // in scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
15+
+ let mut _10: isize; // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
16+
+ let mut _11: bool; // in scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
1717
scope 1 {
18-
debug a => _8; // in scope 1 at $DIR/early_otherwise_branch.rs:7:15: 7:16
19-
debug b => _9; // in scope 1 at $DIR/early_otherwise_branch.rs:7:24: 7:25
18+
debug a => _8; // in scope 1 at $DIR/early_otherwise_branch.rs:5:15: 5:16
19+
debug b => _9; // in scope 1 at $DIR/early_otherwise_branch.rs:5:24: 5:25
2020
}
2121

2222
bb0: {
23-
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
24-
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch.rs:6:12: 6:13
25-
_4 = _1; // scope 0 at $DIR/early_otherwise_branch.rs:6:12: 6:13
26-
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
27-
_5 = _2; // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
28-
(_3.0: std::option::Option<usize>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
29-
(_3.1: std::option::Option<usize>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:6:11: 6:16
30-
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
31-
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch.rs:6:15: 6:16
32-
_7 = discriminant((_3.0: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
33-
- switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
34-
+ StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
35-
+ _10 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
36-
+ StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
37-
+ _11 = Ne(_10, _7); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
38-
+ StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
39-
+ switchInt(move _11) -> [false: bb6, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:10: 7:17
23+
StorageLive(_3); // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
24+
StorageLive(_4); // scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
25+
_4 = _1; // scope 0 at $DIR/early_otherwise_branch.rs:4:12: 4:13
26+
StorageLive(_5); // scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
27+
_5 = _2; // scope 0 at $DIR/early_otherwise_branch.rs:4:15: 4:16
28+
(_3.0: std::option::Option<u32>) = move _4; // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
29+
(_3.1: std::option::Option<u32>) = move _5; // scope 0 at $DIR/early_otherwise_branch.rs:4:11: 4:17
30+
StorageDead(_5); // scope 0 at $DIR/early_otherwise_branch.rs:4:16: 4:17
31+
StorageDead(_4); // scope 0 at $DIR/early_otherwise_branch.rs:4:16: 4:17
32+
_7 = discriminant((_3.0: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
33+
- switchInt(move _7) -> [1_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
34+
+ StorageLive(_10); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
35+
+ _10 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
36+
+ StorageLive(_11); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
37+
+ _11 = Ne(_10, _7); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
38+
+ StorageDead(_10); // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
39+
+ switchInt(move _11) -> [false: bb6, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:10: 5:17
4040
}
4141

4242
bb1: {
43-
_0 = const 1_usize; // scope 0 at $DIR/early_otherwise_branch.rs:8:14: 8:15
44-
// ty::Const
45-
// + ty: usize
46-
// + val: Value(Scalar(0x0000000000000001))
47-
// mir::Constant
48-
// + span: $DIR/early_otherwise_branch.rs:8:14: 8:15
49-
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000001)) }
50-
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:6:5: 9:6
43+
_0 = const 1_u32; // scope 0 at $DIR/early_otherwise_branch.rs:6:14: 6:15
44+
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 7:6
5145
}
5246

5347
bb2: {
54-
_6 = discriminant((_3.1: std::option::Option<usize>)); // scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
55-
switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
48+
_6 = discriminant((_3.1: std::option::Option<u32>)); // scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
49+
switchInt(move _6) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
5650
}
5751

5852
bb3: {
59-
StorageLive(_8); // scope 0 at $DIR/early_otherwise_branch.rs:7:15: 7:16
60-
_8 = (((_3.0: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:7:15: 7:16
61-
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch.rs:7:24: 7:25
62-
_9 = (((_3.1: std::option::Option<usize>) as Some).0: usize); // scope 0 at $DIR/early_otherwise_branch.rs:7:24: 7:25
63-
_0 = const 0_usize; // scope 1 at $DIR/early_otherwise_branch.rs:7:31: 7:32
64-
// ty::Const
65-
// + ty: usize
66-
// + val: Value(Scalar(0x0000000000000000))
67-
// mir::Constant
68-
// + span: $DIR/early_otherwise_branch.rs:7:31: 7:32
69-
// + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000000)) }
70-
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch.rs:7:31: 7:32
71-
StorageDead(_8); // scope 0 at $DIR/early_otherwise_branch.rs:7:31: 7:32
72-
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:6:5: 9:6
53+
StorageLive(_8); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
54+
_8 = (((_3.0: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:5:15: 5:16
55+
StorageLive(_9); // scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
56+
_9 = (((_3.1: std::option::Option<u32>) as Some).0: u32); // scope 0 at $DIR/early_otherwise_branch.rs:5:24: 5:25
57+
_0 = const 0_u32; // scope 1 at $DIR/early_otherwise_branch.rs:5:31: 5:32
58+
StorageDead(_9); // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
59+
StorageDead(_8); // scope 0 at $DIR/early_otherwise_branch.rs:5:31: 5:32
60+
goto -> bb4; // scope 0 at $DIR/early_otherwise_branch.rs:4:5: 7:6
7361
}
7462

7563
bb4: {
76-
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch.rs:10:1: 10:2
77-
return; // scope 0 at $DIR/early_otherwise_branch.rs:10:2: 10:2
64+
StorageDead(_3); // scope 0 at $DIR/early_otherwise_branch.rs:8:1: 8:2
65+
return; // scope 0 at $DIR/early_otherwise_branch.rs:8:2: 8:2
7866
+ }
7967
+
8068
+ bb5 (cleanup): {
81-
+ resume; // scope 0 at $DIR/early_otherwise_branch.rs:5:1: 10:2
69+
+ resume; // scope 0 at $DIR/early_otherwise_branch.rs:3:1: 8:2
8270
+ }
8371
+
8472
+ bb6: {
85-
+ switchInt(_7) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:7:19: 7:26
73+
+ switchInt(_7) -> [1_isize: bb3, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch.rs:5:19: 5:26
8674
}
8775
}
8876

0 commit comments

Comments
 (0)