]>
Commit | Line | Data |
---|---|---|
3dfed10e XL |
1 | - // MIR for `main` before PreCodegen |
2 | + // MIR for `main` after PreCodegen | |
3 | ||
4 | fn main() -> () { | |
5 | let mut _0: (); // return place in scope 0 at $DIR/issue-73223.rs:1:11: 1:11 | |
6 | let mut _1: std::option::Option<i32>; // in scope 0 at $DIR/issue-73223.rs:2:23: 2:30 | |
7 | let _2: i32; // in scope 0 at $DIR/issue-73223.rs:3:14: 3:15 | |
8 | let mut _4: i32; // in scope 0 at $DIR/issue-73223.rs:7:22: 7:27 | |
9 | let mut _5: (&i32, &i32); // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
10 | let mut _6: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
11 | let mut _9: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
12 | let mut _10: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
13 | let mut _11: i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
14 | let _12: &std::fmt::Arguments; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
15 | let _13: std::fmt::Arguments; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
16 | let mut _14: &[&str]; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
17 | let mut _15: &[std::fmt::ArgumentV1]; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
18 | let _16: &[std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
19 | let _17: [std::fmt::ArgumentV1; 2]; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
20 | let mut _18: (&&i32, &&i32); // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
21 | let mut _19: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
22 | let _20: &i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
23 | let mut _21: &&i32; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
24 | let mut _24: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
25 | let mut _25: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
26 | let mut _26: std::fmt::ArgumentV1; // in scope 0 at $SRC_DIR/std/src/macros.rs:LL:COL | |
27 | let mut _27: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
28 | scope 1 { | |
29 | debug split => _2; // in scope 1 at $DIR/issue-73223.rs:2:9: 2:14 | |
30 | let _3: std::option::Option<i32>; // in scope 1 at $DIR/issue-73223.rs:7:9: 7:14 | |
31 | scope 3 { | |
32 | debug _prev => _3; // in scope 3 at $DIR/issue-73223.rs:7:9: 7:14 | |
33 | let _7: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
34 | let _8: &i32; // in scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
35 | scope 4 { | |
36 | debug left_val => _7; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
37 | debug right_val => _8; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
38 | let _22: &&i32; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
39 | let _23: &&i32; // in scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
40 | scope 5 { | |
41 | debug arg0 => _22; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
42 | debug arg1 => _23; // in scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
43 | scope 6 { | |
44 | debug x => _22; // in scope 6 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
45 | debug f => _25; // in scope 6 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
46 | let mut _28: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 6 at $SRC_DIR/std/src/macros.rs:LL:COL | |
47 | let mut _29: &core::fmt::Opaque; // in scope 6 at $SRC_DIR/std/src/macros.rs:LL:COL | |
48 | } | |
49 | scope 8 { | |
50 | debug x => _23; // in scope 8 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
51 | debug f => _27; // in scope 8 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
52 | let mut _30: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>; // in scope 8 at $SRC_DIR/std/src/macros.rs:LL:COL | |
53 | let mut _31: &core::fmt::Opaque; // in scope 8 at $SRC_DIR/std/src/macros.rs:LL:COL | |
54 | } | |
55 | } | |
56 | scope 10 { | |
57 | debug pieces => _14; // in scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
58 | debug args => _15; // in scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
59 | let mut _32: std::option::Option<&[std::fmt::rt::v1::Argument]>; // in scope 10 at $SRC_DIR/std/src/macros.rs:LL:COL | |
60 | } | |
61 | } | |
62 | } | |
63 | } | |
64 | scope 2 { | |
65 | debug v => _2; // in scope 2 at $DIR/issue-73223.rs:3:14: 3:15 | |
66 | } | |
67 | scope 7 { | |
68 | } | |
69 | scope 9 { | |
70 | } | |
71 | ||
72 | bb0: { | |
73 | StorageLive(_1); // scope 0 at $DIR/issue-73223.rs:2:23: 2:30 | |
74 | ((_1 as Some).0: i32) = const 1_i32; // scope 0 at $DIR/issue-73223.rs:2:23: 2:30 | |
75 | discriminant(_1) = 1; // scope 0 at $DIR/issue-73223.rs:2:23: 2:30 | |
76 | _2 = ((_1 as Some).0: i32); // scope 0 at $DIR/issue-73223.rs:3:14: 3:15 | |
77 | StorageDead(_1); // scope 0 at $DIR/issue-73223.rs:5:6: 5:7 | |
78 | StorageLive(_3); // scope 1 at $DIR/issue-73223.rs:7:9: 7:14 | |
79 | StorageLive(_4); // scope 1 at $DIR/issue-73223.rs:7:22: 7:27 | |
80 | _4 = _2; // scope 1 at $DIR/issue-73223.rs:7:22: 7:27 | |
81 | ((_3 as Some).0: i32) = move _4; // scope 1 at $DIR/issue-73223.rs:7:17: 7:28 | |
82 | discriminant(_3) = 1; // scope 1 at $DIR/issue-73223.rs:7:17: 7:28 | |
83 | StorageDead(_4); // scope 1 at $DIR/issue-73223.rs:7:27: 7:28 | |
84 | StorageLive(_5); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
85 | StorageLive(_6); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
86 | _6 = &_2; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
87 | (_5.0: &i32) = move _6; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
88 | (_5.1: &i32) = const main::promoted[1]; // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
89 | // ty::Const | |
90 | // + ty: &i32 | |
91 | // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[1])) | |
92 | // mir::Constant | |
93 | // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
94 | // + literal: Const { ty: &i32, val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[1])) } | |
95 | StorageDead(_6); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
96 | StorageLive(_7); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
97 | _7 = (_5.0: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
98 | _8 = (_5.1: &i32); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
99 | StorageLive(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
100 | StorageLive(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
101 | StorageLive(_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
102 | _11 = (*_7); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
103 | _10 = Eq(move _11, const 1_i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
104 | StorageDead(_11); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
105 | _9 = Not(move _10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
106 | StorageDead(_10); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
107 | switchInt(_9) -> [false: bb1, otherwise: bb2]; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
108 | } | |
109 | ||
110 | bb1: { | |
111 | StorageDead(_9); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
112 | StorageDead(_7); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
113 | StorageDead(_5); // scope 3 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
114 | _0 = const (); // scope 0 at $DIR/issue-73223.rs:1:11: 9:2 | |
115 | StorageDead(_3); // scope 1 at $DIR/issue-73223.rs:9:1: 9:2 | |
116 | return; // scope 0 at $DIR/issue-73223.rs:9:2: 9:2 | |
117 | } | |
118 | ||
119 | bb2: { | |
120 | StorageLive(_13); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
121 | _14 = const main::promoted[0] as &[&str] (Pointer(Unsize)); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
122 | // ty::Const | |
123 | // + ty: &[&str; 3] | |
124 | // + val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) | |
125 | // mir::Constant | |
126 | // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
127 | // + literal: Const { ty: &[&str; 3], val: Unevaluated(WithOptConstParam { did: DefId(0:3 ~ issue_73223[317d]::main[0]), const_param_did: None }, [], Some(promoted[0])) } | |
128 | StorageLive(_17); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
129 | StorageLive(_18); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
130 | StorageLive(_19); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
131 | StorageLive(_20); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
132 | _20 = _7; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
133 | _19 = &_20; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
134 | StorageLive(_21); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
135 | _21 = &_8; // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
136 | (_18.0: &&i32) = move _19; // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
137 | (_18.1: &&i32) = move _21; // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
138 | StorageDead(_21); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
139 | StorageDead(_19); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
140 | _22 = (_18.0: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
141 | _23 = (_18.1: &&i32); // scope 4 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
142 | StorageLive(_24); // scope 5 at $SRC_DIR/std/src/macros.rs:LL:COL | |
143 | _25 = <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
144 | // mir::Constant | |
145 | // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
146 | // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) } | |
147 | StorageLive(_28); // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
148 | _28 = std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _25) -> bb3; // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
149 | // mir::Constant | |
150 | // + span: $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
151 | // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) } | |
152 | } | |
153 | ||
154 | bb3: { | |
155 | StorageLive(_29); // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
156 | _29 = std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _22) -> bb4; // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
157 | // mir::Constant | |
158 | // + span: $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
159 | // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) } | |
160 | } | |
161 | ||
162 | bb4: { | |
163 | (_24.0: &core::fmt::Opaque) = move _29; // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
164 | (_24.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _28; // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
165 | StorageDead(_29); // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
166 | StorageDead(_28); // scope 7 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
167 | StorageLive(_26); // scope 5 at $SRC_DIR/std/src/macros.rs:LL:COL | |
168 | _27 = <&i32 as std::fmt::Debug>::fmt as for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> (Pointer(ReifyFnPointer)); // scope 5 at $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
169 | // mir::Constant | |
170 | // + span: $SRC_DIR/core/src/macros/mod.rs:LL:COL | |
171 | // + literal: Const { ty: for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {<&i32 as std::fmt::Debug>::fmt}, val: Value(Scalar(<ZST>)) } | |
172 | StorageLive(_30); // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
173 | _30 = std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>(move _27) -> bb5; // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
174 | // mir::Constant | |
175 | // + span: $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
176 | // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) -> for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error> {std::intrinsics::transmute::<for<'r, 's, 't0> fn(&'r &i32, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>, for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>>}, val: Value(Scalar(<ZST>)) } | |
177 | } | |
178 | ||
179 | bb5: { | |
180 | StorageLive(_31); // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
181 | _31 = std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>(move _23) -> bb6; // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
182 | // mir::Constant | |
183 | // + span: $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
184 | // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(&&i32) -> &core::fmt::Opaque {std::intrinsics::transmute::<&&i32, &core::fmt::Opaque>}, val: Value(Scalar(<ZST>)) } | |
185 | } | |
186 | ||
187 | bb6: { | |
188 | (_26.0: &core::fmt::Opaque) = move _31; // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
189 | (_26.1: for<'r, 's, 't0> fn(&'r core::fmt::Opaque, &'s mut std::fmt::Formatter<'t0>) -> std::result::Result<(), std::fmt::Error>) = move _30; // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
190 | StorageDead(_31); // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
191 | StorageDead(_30); // scope 9 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
192 | _17 = [move _24, move _26]; // scope 5 at $SRC_DIR/std/src/macros.rs:LL:COL | |
193 | StorageDead(_26); // scope 5 at $SRC_DIR/std/src/macros.rs:LL:COL | |
194 | StorageDead(_24); // scope 5 at $SRC_DIR/std/src/macros.rs:LL:COL | |
195 | _16 = &_17; // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
196 | _15 = move _16 as &[std::fmt::ArgumentV1] (Pointer(Unsize)); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
197 | StorageLive(_32); // scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
198 | discriminant(_32) = 0; // scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
199 | (_13.0: &[&str]) = move _14; // scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
200 | (_13.1: std::option::Option<&[std::fmt::rt::v1::Argument]>) = move _32; // scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
201 | (_13.2: &[std::fmt::ArgumentV1]) = move _15; // scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
202 | StorageDead(_32); // scope 10 at $SRC_DIR/core/src/fmt/mod.rs:LL:COL | |
203 | _12 = &_13; // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
204 | std::rt::begin_panic_fmt(move _12); // scope 4 at $SRC_DIR/std/src/macros.rs:LL:COL | |
205 | // mir::Constant | |
206 | // + span: $SRC_DIR/std/src/macros.rs:LL:COL | |
207 | // + literal: Const { ty: for<'r, 's> fn(&'r std::fmt::Arguments<'s>) -> ! {std::rt::begin_panic_fmt}, val: Value(Scalar(<ZST>)) } | |
208 | } | |
209 | } | |
210 |