summaryrefslogtreecommitdiffstats
path: root/src/test/mir-opt/combine_array_len.norm2.InstCombine.diff
blob: c73150f947dfef7764c1b5c62fcfa9b9583a9f10 (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
- // MIR for `norm2` before InstCombine
+ // MIR for `norm2` after InstCombine
  
  fn norm2(_1: [f32; 2]) -> f32 {
      debug x => _1;                       // in scope 0 at $DIR/combine_array_len.rs:+0:10: +0:11
      let mut _0: f32;                     // return place in scope 0 at $DIR/combine_array_len.rs:+0:26: +0:29
      let _2: f32;                         // in scope 0 at $DIR/combine_array_len.rs:+1:9: +1:10
      let _3: usize;                       // in scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
      let mut _4: usize;                   // in scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
      let mut _5: bool;                    // in scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
      let _7: usize;                       // in scope 0 at $DIR/combine_array_len.rs:+2:15: +2:16
      let mut _8: usize;                   // in scope 0 at $DIR/combine_array_len.rs:+2:13: +2:17
      let mut _9: bool;                    // in scope 0 at $DIR/combine_array_len.rs:+2:13: +2:17
      let mut _10: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:5: +3:8
      let mut _11: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:5: +3:6
      let mut _12: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:7: +3:8
      let mut _13: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:11: +3:14
      let mut _14: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:11: +3:12
      let mut _15: f32;                    // in scope 0 at $DIR/combine_array_len.rs:+3:13: +3:14
      scope 1 {
          debug a => _2;                   // in scope 1 at $DIR/combine_array_len.rs:+1:9: +1:10
          let _6: f32;                     // in scope 1 at $DIR/combine_array_len.rs:+2:9: +2:10
          scope 2 {
              debug b => _6;               // in scope 2 at $DIR/combine_array_len.rs:+2:9: +2:10
          }
      }
  
      bb0: {
          StorageLive(_2);                 // scope 0 at $DIR/combine_array_len.rs:+1:9: +1:10
          StorageLive(_3);                 // scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
          _3 = const 0_usize;              // scope 0 at $DIR/combine_array_len.rs:+1:15: +1:16
-         _4 = Len(_1);                    // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
+         _4 = const 2_usize;              // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
          _5 = Lt(_3, _4);                 // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
          assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> bb1; // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
      }
  
      bb1: {
          _2 = _1[_3];                     // scope 0 at $DIR/combine_array_len.rs:+1:13: +1:17
          StorageDead(_3);                 // scope 0 at $DIR/combine_array_len.rs:+1:17: +1:18
          StorageLive(_6);                 // scope 1 at $DIR/combine_array_len.rs:+2:9: +2:10
          StorageLive(_7);                 // scope 1 at $DIR/combine_array_len.rs:+2:15: +2:16
          _7 = const 1_usize;              // scope 1 at $DIR/combine_array_len.rs:+2:15: +2:16
-         _8 = Len(_1);                    // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
+         _8 = const 2_usize;              // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
          _9 = Lt(_7, _8);                 // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
          assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> bb2; // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
      }
  
      bb2: {
          _6 = _1[_7];                     // scope 1 at $DIR/combine_array_len.rs:+2:13: +2:17
          StorageDead(_7);                 // scope 1 at $DIR/combine_array_len.rs:+2:17: +2:18
          StorageLive(_10);                // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:8
          StorageLive(_11);                // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:6
          _11 = _2;                        // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:6
          StorageLive(_12);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
          _12 = _2;                        // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
          _10 = Mul(move _11, move _12);   // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:8
          StorageDead(_12);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
          StorageDead(_11);                // scope 2 at $DIR/combine_array_len.rs:+3:7: +3:8
          StorageLive(_13);                // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:14
          StorageLive(_14);                // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:12
          _14 = _6;                        // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:12
          StorageLive(_15);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
          _15 = _6;                        // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
          _13 = Mul(move _14, move _15);   // scope 2 at $DIR/combine_array_len.rs:+3:11: +3:14
          StorageDead(_15);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
          StorageDead(_14);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
          _0 = Add(move _10, move _13);    // scope 2 at $DIR/combine_array_len.rs:+3:5: +3:14
          StorageDead(_13);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
          StorageDead(_10);                // scope 2 at $DIR/combine_array_len.rs:+3:13: +3:14
          StorageDead(_6);                 // scope 1 at $DIR/combine_array_len.rs:+4:1: +4:2
          StorageDead(_2);                 // scope 0 at $DIR/combine_array_len.rs:+4:1: +4:2
          return;                          // scope 0 at $DIR/combine_array_len.rs:+4:2: +4:2
      }
  }