]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/generator_tiny.main-{closure#0}.generator_resume.0.mir
Rollup merge of #106709 - khuey:disable_split_dwarf_inlining_by_default, r=davidtwco
[rust.git] / tests / mir-opt / generator_tiny.main-{closure#0}.generator_resume.0.mir
1 // MIR for `main::{closure#0}` 0 generator_resume
2 /* generator_layout = GeneratorLayout {
3     field_tys: {
4         _0: HasDrop,
5     },
6     variant_fields: {
7         Unresumed(0): [],
8         Returned (1): [],
9         Panicked (2): [],
10         Suspend0 (3): [_0],
11     },
12     storage_conflicts: BitMatrix(1x1) {
13         (_0, _0),
14     },
15 } */
16
17 fn main::{closure#0}(_1: Pin<&mut [generator@$DIR/generator_tiny.rs:19:16: 19:24]>, _2: u8) -> GeneratorState<(), ()> {
18     debug _x => _10;                     // in scope 0 at $DIR/generator_tiny.rs:+0:17: +0:19
19     let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
20     let _3: HasDrop;                     // in scope 0 at $DIR/generator_tiny.rs:+1:13: +1:15
21     let mut _4: !;                       // in scope 0 at $DIR/generator_tiny.rs:+2:9: +5:10
22     let mut _5: ();                      // in scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
23     let _6: u8;                          // in scope 0 at $DIR/generator_tiny.rs:+3:13: +3:18
24     let mut _7: ();                      // in scope 0 at $DIR/generator_tiny.rs:+3:13: +3:18
25     let _8: ();                          // in scope 0 at $DIR/generator_tiny.rs:+4:13: +4:21
26     let mut _9: ();                      // in scope 0 at $DIR/generator_tiny.rs:+0:25: +0:25
27     let _10: u8;                         // in scope 0 at $DIR/generator_tiny.rs:+0:17: +0:19
28     let mut _11: u32;                    // in scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
29     scope 1 {
30         debug _d => (((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator_tiny.rs:+1:13: +1:15
31     }
32
33     bb0: {
34         _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24]))); // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
35         switchInt(move _11) -> [0: bb1, 3: bb5, otherwise: bb6]; // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
36     }
37
38     bb1: {
39         _10 = move _2;                   // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
40         nop;                             // scope 0 at $DIR/generator_tiny.rs:+1:13: +1:15
41         (((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24])) as variant#3).0: HasDrop) = HasDrop; // scope 0 at $DIR/generator_tiny.rs:+1:18: +1:25
42         StorageLive(_4);                 // scope 1 at $DIR/generator_tiny.rs:+2:9: +5:10
43         goto -> bb2;                     // scope 1 at $DIR/generator_tiny.rs:+2:9: +5:10
44     }
45
46     bb2: {
47         StorageLive(_6);                 // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
48         StorageLive(_7);                 // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
49         _7 = ();                         // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
50         Deinit(_0);                      // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
51         ((_0 as Yielded).0: ()) = move _7; // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
52         discriminant(_0) = 0;            // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
53         discriminant((*(_1.0: &mut [generator@$DIR/generator_tiny.rs:19:16: 19:24]))) = 3; // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
54         return;                          // scope 1 at $DIR/generator_tiny.rs:+3:13: +3:18
55     }
56
57     bb3: {
58         StorageDead(_7);                 // scope 1 at $DIR/generator_tiny.rs:+3:17: +3:18
59         StorageDead(_6);                 // scope 1 at $DIR/generator_tiny.rs:+3:18: +3:19
60         StorageLive(_8);                 // scope 1 at $DIR/generator_tiny.rs:+4:13: +4:21
61         _8 = callee() -> bb4;            // scope 1 at $DIR/generator_tiny.rs:+4:13: +4:21
62                                          // mir::Constant
63                                          // + span: $DIR/generator_tiny.rs:23:13: 23:19
64                                          // + literal: Const { ty: fn() {callee}, val: Value(<ZST>) }
65     }
66
67     bb4: {
68         StorageDead(_8);                 // scope 1 at $DIR/generator_tiny.rs:+4:21: +4:22
69         _5 = const ();                   // scope 1 at $DIR/generator_tiny.rs:+2:14: +5:10
70         goto -> bb2;                     // scope 1 at $DIR/generator_tiny.rs:+2:9: +5:10
71     }
72
73     bb5: {
74         StorageLive(_4);                 // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
75         StorageLive(_6);                 // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
76         StorageLive(_7);                 // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
77         _6 = move _2;                    // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
78         goto -> bb3;                     // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
79     }
80
81     bb6: {
82         unreachable;                     // scope 0 at $DIR/generator_tiny.rs:+0:16: +6:6
83     }
84 }