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