• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1- // MIR for `wrapping` before LowerIntrinsics
2+ // MIR for `wrapping` after LowerIntrinsics
3
4  fn wrapping(_1: i32, _2: i32) -> () {
5      debug a => _1;
6      debug b => _2;
7      let mut _0: ();
8      let _3: i32;
9      let mut _4: i32;
10      let mut _5: i32;
11      let mut _7: i32;
12      let mut _8: i32;
13      let mut _10: i32;
14      let mut _11: i32;
15      scope 1 {
16          debug _x => _3;
17          let _6: i32;
18          scope 2 {
19              debug _y => _6;
20              let _9: i32;
21              scope 3 {
22                  debug _z => _9;
23              }
24          }
25      }
26
27      bb0: {
28          StorageLive(_3);
29          StorageLive(_4);
30          _4 = _1;
31          StorageLive(_5);
32          _5 = _2;
33-         _3 = std::intrinsics::wrapping_add::<i32>(move _4, move _5) -> [return: bb1, unwind unreachable];
34+         _3 = Add(move _4, move _5);
35+         goto -> bb1;
36      }
37
38      bb1: {
39          StorageDead(_5);
40          StorageDead(_4);
41          StorageLive(_6);
42          StorageLive(_7);
43          _7 = _1;
44          StorageLive(_8);
45          _8 = _2;
46-         _6 = std::intrinsics::wrapping_sub::<i32>(move _7, move _8) -> [return: bb2, unwind unreachable];
47+         _6 = Sub(move _7, move _8);
48+         goto -> bb2;
49      }
50
51      bb2: {
52          StorageDead(_8);
53          StorageDead(_7);
54          StorageLive(_9);
55          StorageLive(_10);
56          _10 = _1;
57          StorageLive(_11);
58          _11 = _2;
59-         _9 = wrapping_mul::<i32>(move _10, move _11) -> [return: bb3, unwind unreachable];
60+         _9 = Mul(move _10, move _11);
61+         goto -> bb3;
62      }
63
64      bb3: {
65          StorageDead(_11);
66          StorageDead(_10);
67          _0 = const ();
68          StorageDead(_9);
69          StorageDead(_6);
70          StorageDead(_3);
71          return;
72      }
73  }
74
75