]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/dest-prop/branch.foo.DestinationPropagation.diff
Auto merge of #107644 - Zoxc:query-cache-tweak, r=cjgillot
[rust.git] / tests / mir-opt / dest-prop / branch.foo.DestinationPropagation.diff
1 - // MIR for `foo` before DestinationPropagation
2 + // MIR for `foo` after DestinationPropagation
3   
4   fn foo() -> i32 {
5       let mut _0: i32;                     // return place in scope 0 at $DIR/branch.rs:+0:13: +0:16
6       let _1: i32;                         // in scope 0 at $DIR/branch.rs:+1:9: +1:10
7       let mut _3: bool;                    // in scope 0 at $DIR/branch.rs:+3:16: +3:22
8       let _4: i32;                         // in scope 0 at $DIR/branch.rs:+6:9: +6:14
9       scope 1 {
10 -         debug x => _1;                   // in scope 1 at $DIR/branch.rs:+1:9: +1:10
11 +         debug x => _0;                   // in scope 1 at $DIR/branch.rs:+1:9: +1:10
12           let _2: i32;                     // in scope 1 at $DIR/branch.rs:+3:9: +3:10
13           scope 2 {
14 -             debug y => _2;               // in scope 2 at $DIR/branch.rs:+3:9: +3:10
15 +             debug y => _0;               // in scope 2 at $DIR/branch.rs:+3:9: +3:10
16           }
17       }
18   
19       bb0: {
20 -         StorageLive(_1);                 // scope 0 at $DIR/branch.rs:+1:9: +1:10
21 -         _1 = val() -> bb1;               // scope 0 at $DIR/branch.rs:+1:13: +1:18
22 +         nop;                             // scope 0 at $DIR/branch.rs:+1:9: +1:10
23 +         _0 = val() -> bb1;               // scope 0 at $DIR/branch.rs:+1:13: +1:18
24                                            // mir::Constant
25                                            // + span: $DIR/branch.rs:13:13: 13:16
26                                            // + literal: Const { ty: fn() -> i32 {val}, val: Value(<ZST>) }
27       }
28   
29       bb1: {
30 -         StorageLive(_2);                 // scope 1 at $DIR/branch.rs:+3:9: +3:10
31 +         nop;                             // scope 1 at $DIR/branch.rs:+3:9: +3:10
32           StorageLive(_3);                 // scope 1 at $DIR/branch.rs:+3:16: +3:22
33           _3 = cond() -> bb2;              // scope 1 at $DIR/branch.rs:+3:16: +3:22
34                                            // mir::Constant
35                                            // + span: $DIR/branch.rs:15:16: 15:20
36                                            // + literal: Const { ty: fn() -> bool {cond}, val: Value(<ZST>) }
37       }
38   
39       bb2: {
40           switchInt(move _3) -> [0: bb4, otherwise: bb3]; // scope 1 at $DIR/branch.rs:+3:16: +3:22
41       }
42   
43       bb3: {
44 -         _2 = _1;                         // scope 1 at $DIR/branch.rs:+4:9: +4:10
45 +         nop;                             // scope 1 at $DIR/branch.rs:+4:9: +4:10
46           goto -> bb6;                     // scope 1 at $DIR/branch.rs:+3:13: +8:6
47       }
48   
49       bb4: {
50           StorageLive(_4);                 // scope 1 at $DIR/branch.rs:+6:9: +6:14
51           _4 = val() -> bb5;               // scope 1 at $DIR/branch.rs:+6:9: +6:14
52                                            // mir::Constant
53                                            // + span: $DIR/branch.rs:18:9: 18:12
54                                            // + literal: Const { ty: fn() -> i32 {val}, val: Value(<ZST>) }
55       }
56   
57       bb5: {
58           StorageDead(_4);                 // scope 1 at $DIR/branch.rs:+6:14: +6:15
59 -         _2 = _1;                         // scope 1 at $DIR/branch.rs:+7:9: +7:10
60 +         nop;                             // scope 1 at $DIR/branch.rs:+7:9: +7:10
61           goto -> bb6;                     // scope 1 at $DIR/branch.rs:+3:13: +8:6
62       }
63   
64       bb6: {
65           StorageDead(_3);                 // scope 1 at $DIR/branch.rs:+8:5: +8:6
66 -         _0 = _2;                         // scope 2 at $DIR/branch.rs:+10:5: +10:6
67 -         StorageDead(_2);                 // scope 1 at $DIR/branch.rs:+11:1: +11:2
68 -         StorageDead(_1);                 // scope 0 at $DIR/branch.rs:+11:1: +11:2
69 +         nop;                             // scope 2 at $DIR/branch.rs:+10:5: +10:6
70 +         nop;                             // scope 1 at $DIR/branch.rs:+11:1: +11:2
71 +         nop;                             // scope 0 at $DIR/branch.rs:+11:1: +11:2
72           return;                          // scope 0 at $DIR/branch.rs:+11:2: +11:2
73       }
74   }
75