]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/inline/inline_any_operand.bar.Inline.after.mir
rustc_mir: properly map scope parent chains into the caller when inlining.
[rust.git] / src / test / mir-opt / inline / inline_any_operand.bar.Inline.after.mir
1 // MIR for `bar` after Inline
2
3 fn bar() -> bool {
4     let mut _0: bool;                    // return place in scope 0 at $DIR/inline-any-operand.rs:10:13: 10:17
5     let _1: fn(i32, i32) -> bool {foo};  // in scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10
6     let mut _2: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:6
7     let mut _5: i32;                     // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
8     let mut _6: i32;                     // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
9     scope 1 {
10         debug f => _1;                   // in scope 1 at $DIR/inline-any-operand.rs:11:9: 11:10
11         scope 2 (inlined foo) {          // at $DIR/inline-any-operand.rs:12:5: 12:13
12             debug x => _5;               // in scope 2 at $DIR/inline-any-operand.rs:16:8: 16:9
13             debug y => _6;               // in scope 2 at $DIR/inline-any-operand.rs:16:16: 16:17
14             let mut _3: i32;             // in scope 2 at $DIR/inline-any-operand.rs:12:5: 12:13
15             let mut _4: i32;             // in scope 2 at $DIR/inline-any-operand.rs:12:5: 12:13
16         }
17     }
18
19     bb0: {
20         StorageLive(_1);                 // scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10
21         _1 = foo;                        // scope 0 at $DIR/inline-any-operand.rs:11:13: 11:16
22                                          // mir::Constant
23                                          // + span: $DIR/inline-any-operand.rs:11:13: 11:16
24                                          // + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(Scalar(<ZST>)) }
25         StorageLive(_2);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
26         _2 = _1;                         // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
27         StorageLive(_5);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
28         _5 = const 1_i32;                // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
29         StorageLive(_6);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
30         _6 = const -1_i32;               // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
31         StorageLive(_3);                 // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
32         _3 = _5;                         // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
33         StorageLive(_4);                 // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
34         _4 = _6;                         // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
35         _0 = Eq(move _3, move _4);       // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11
36         StorageDead(_4);                 // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
37         StorageDead(_3);                 // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
38         StorageDead(_6);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
39         StorageDead(_5);                 // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
40         StorageDead(_2);                 // scope 1 at $DIR/inline-any-operand.rs:12:12: 12:13
41         StorageDead(_1);                 // scope 0 at $DIR/inline-any-operand.rs:13:1: 13:2
42         return;                          // scope 0 at $DIR/inline-any-operand.rs:13:2: 13:2
43     }
44 }