]> git.proxmox.com Git - rustc.git/blob - tests/mir-opt/building/match_false_edges.full_tested_match.built.after.mir
New upstream version 1.74.1+dfsg1
[rustc.git] / tests / mir-opt / building / match_false_edges.full_tested_match.built.after.mir
1 // MIR for `full_tested_match` after built
2
3 fn full_tested_match() -> () {
4 let mut _0: ();
5 let mut _1: (i32, i32);
6 let mut _2: std::option::Option<i32>;
7 let mut _3: isize;
8 let mut _4: &std::option::Option<i32>;
9 let _5: i32;
10 let _6: &i32;
11 let mut _7: bool;
12 let mut _8: i32;
13 let _9: i32;
14 let mut _10: i32;
15 scope 1 {
16 }
17 scope 2 {
18 debug x => _5;
19 debug x => _6;
20 }
21 scope 3 {
22 debug y => _9;
23 }
24
25 bb0: {
26 StorageLive(_1);
27 StorageLive(_2);
28 _2 = Option::<i32>::Some(const 42_i32);
29 FakeRead(ForMatchedPlace(None), _2);
30 _3 = discriminant(_2);
31 switchInt(move _3) -> [0: bb1, 1: bb2, otherwise: bb4];
32 }
33
34 bb1: {
35 _1 = (const 3_i32, const 3_i32);
36 goto -> bb11;
37 }
38
39 bb2: {
40 falseEdge -> [real: bb5, imaginary: bb3];
41 }
42
43 bb3: {
44 falseEdge -> [real: bb10, imaginary: bb1];
45 }
46
47 bb4: {
48 unreachable;
49 }
50
51 bb5: {
52 StorageLive(_6);
53 _6 = &((_2 as Some).0: i32);
54 _4 = &fake _2;
55 StorageLive(_7);
56 _7 = guard() -> [return: bb6, unwind: bb12];
57 }
58
59 bb6: {
60 switchInt(move _7) -> [0: bb8, otherwise: bb7];
61 }
62
63 bb7: {
64 StorageDead(_7);
65 FakeRead(ForMatchGuard, _4);
66 FakeRead(ForGuardBinding, _6);
67 StorageLive(_5);
68 _5 = ((_2 as Some).0: i32);
69 StorageLive(_8);
70 _8 = _5;
71 _1 = (const 1_i32, move _8);
72 StorageDead(_8);
73 StorageDead(_5);
74 StorageDead(_6);
75 goto -> bb11;
76 }
77
78 bb8: {
79 goto -> bb9;
80 }
81
82 bb9: {
83 StorageDead(_7);
84 StorageDead(_6);
85 goto -> bb3;
86 }
87
88 bb10: {
89 StorageLive(_9);
90 _9 = ((_2 as Some).0: i32);
91 StorageLive(_10);
92 _10 = _9;
93 _1 = (const 2_i32, move _10);
94 StorageDead(_10);
95 StorageDead(_9);
96 goto -> bb11;
97 }
98
99 bb11: {
100 PlaceMention(_1);
101 StorageDead(_2);
102 StorageDead(_1);
103 _0 = const ();
104 return;
105 }
106
107 bb12 (cleanup): {
108 resume;
109 }
110 }