summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/slice_filter.variant_b-{closure#0}.CopyProp.diff
blob: 5e4bdbdfa2e2f9683e0b5206db7181c30c81db94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
- // MIR for `variant_b::{closure#0}` before CopyProp
+ // MIR for `variant_b::{closure#0}` after CopyProp
  
  fn variant_b::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:12:25: 12:41], _2: &&(usize, usize, usize, usize)) -> bool {
      let mut _0: bool;                    // return place in scope 0 at $DIR/slice_filter.rs:+0:42: +0:42
      let _3: usize;                       // in scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
      let _4: usize;                       // in scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
      let _5: usize;                       // in scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
      let _6: usize;                       // in scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
      let mut _7: bool;                    // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:58
      let mut _8: bool;                    // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:48
      let mut _9: usize;                   // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:43
      let mut _10: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:47: +0:48
      let mut _11: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:58
      let mut _12: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:53
      let mut _13: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:57: +0:58
      let mut _14: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:78
      let mut _15: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:68
      let mut _16: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:63
      let mut _17: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:67: +0:68
      let mut _18: bool;                   // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:78
      let mut _19: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:73
      let mut _20: usize;                  // in scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
      let mut _21: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
      let mut _22: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
      let mut _23: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
      let mut _24: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
      scope 1 {
          debug a => _3;                   // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30
          debug b => _4;                   // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33
          debug c => _5;                   // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36
          debug d => _6;                   // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39
      }
  
      bb0: {
-         StorageLive(_3);                 // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
          _21 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
          _3 = ((*_21).0: usize);          // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
-         StorageLive(_4);                 // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
          _22 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
          _4 = ((*_22).1: usize);          // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
-         StorageLive(_5);                 // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
          _23 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
          _5 = ((*_23).2: usize);          // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
-         StorageLive(_6);                 // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
          _24 = deref_copy (*_2);          // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
          _6 = ((*_24).3: usize);          // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
          StorageLive(_7);                 // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
          StorageLive(_8);                 // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
-         StorageLive(_9);                 // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
-         _9 = _3;                         // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
-         StorageLive(_10);                // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
-         _10 = _5;                        // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
-         _8 = Le(move _9, move _10);      // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
-         StorageDead(_10);                // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
-         StorageDead(_9);                 // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
+         _8 = Le(_3, _5);                 // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
          switchInt(move _8) -> [0: bb4, otherwise: bb5]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
      }
  
      bb1: {
          _0 = const true;                 // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
          goto -> bb3;                     // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
      }
  
      bb2: {
          StorageLive(_14);                // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
          StorageLive(_15);                // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
-         StorageLive(_16);                // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
-         _16 = _5;                        // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
-         StorageLive(_17);                // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-         _17 = _3;                        // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-         _15 = Le(move _16, move _17);    // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
-         StorageDead(_17);                // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
-         StorageDead(_16);                // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
+         _15 = Le(_5, _3);                // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
          switchInt(move _15) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
      }
  
      bb3: {
          StorageDead(_14);                // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
          StorageDead(_7);                 // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-         StorageDead(_6);                 // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-         StorageDead(_5);                 // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-         StorageDead(_4);                 // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
-         StorageDead(_3);                 // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
          return;                          // scope 0 at $DIR/slice_filter.rs:+0:78: +0:78
      }
  
      bb4: {
          _7 = const false;                // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
          StorageDead(_11);                // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
          StorageDead(_8);                 // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
          goto -> bb2;                     // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
      }
  
      bb5: {
          StorageLive(_11);                // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
-         StorageLive(_12);                // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
-         _12 = _6;                        // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
-         StorageLive(_13);                // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
-         _13 = _4;                        // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
-         _11 = Le(move _12, move _13);    // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
-         StorageDead(_13);                // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
-         StorageDead(_12);                // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
+         _11 = Le(_6, _4);                // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
          _7 = move _11;                   // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
          StorageDead(_11);                // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
          StorageDead(_8);                 // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
          switchInt(move _7) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
      }
  
      bb6: {
          _14 = const false;               // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
          goto -> bb8;                     // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
      }
  
      bb7: {
          StorageLive(_18);                // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
-         StorageLive(_19);                // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
-         _19 = _4;                        // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
-         StorageLive(_20);                // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-         _20 = _6;                        // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-         _18 = Le(move _19, move _20);    // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
-         StorageDead(_20);                // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
-         StorageDead(_19);                // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
+         _18 = Le(_4, _6);                // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
          _14 = move _18;                  // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
          goto -> bb8;                     // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
      }
  
      bb8: {
          StorageDead(_18);                // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
          StorageDead(_15);                // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
          _0 = move _14;                   // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
          goto -> bb3;                     // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
      }
  }