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
|
- // MIR for `wrapping` before LowerIntrinsics
+ // MIR for `wrapping` after LowerIntrinsics
fn wrapping(_1: i32, _2: i32) -> () {
debug a => _1; // in scope 0 at $DIR/lower_intrinsics.rs:+0:17: +0:18
debug b => _2; // in scope 0 at $DIR/lower_intrinsics.rs:+0:25: +0:26
let mut _0: (); // return place in scope 0 at $DIR/lower_intrinsics.rs:+0:33: +0:33
let _3: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11
let mut _4: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
let mut _5: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
let mut _7: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+2:45: +2:46
let mut _8: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+2:48: +2:49
let mut _10: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+3:45: +3:46
let mut _11: i32; // in scope 0 at $DIR/lower_intrinsics.rs:+3:48: +3:49
scope 1 {
debug _x => _3; // in scope 1 at $DIR/lower_intrinsics.rs:+1:9: +1:11
let _6: i32; // in scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11
scope 2 {
debug _y => _6; // in scope 2 at $DIR/lower_intrinsics.rs:+2:9: +2:11
let _9: i32; // in scope 2 at $DIR/lower_intrinsics.rs:+3:9: +3:11
scope 3 {
debug _z => _9; // in scope 3 at $DIR/lower_intrinsics.rs:+3:9: +3:11
}
}
}
bb0: {
StorageLive(_3); // scope 0 at $DIR/lower_intrinsics.rs:+1:9: +1:11
StorageLive(_4); // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
_4 = _1; // scope 0 at $DIR/lower_intrinsics.rs:+1:45: +1:46
StorageLive(_5); // scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
_5 = _2; // scope 0 at $DIR/lower_intrinsics.rs:+1:48: +1:49
- _3 = wrapping_add::<i32>(move _4, move _5) -> [return: bb1, unwind unreachable]; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
- // mir::Constant
- // + span: $DIR/lower_intrinsics.rs:9:14: 9:44
- // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_add::<i32>}, val: Value(<ZST>) }
+ _3 = Add(move _4, move _5); // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
+ goto -> bb1; // scope 0 at $DIR/lower_intrinsics.rs:+1:14: +1:50
}
bb1: {
StorageDead(_5); // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50
StorageDead(_4); // scope 0 at $DIR/lower_intrinsics.rs:+1:49: +1:50
StorageLive(_6); // scope 1 at $DIR/lower_intrinsics.rs:+2:9: +2:11
StorageLive(_7); // scope 1 at $DIR/lower_intrinsics.rs:+2:45: +2:46
_7 = _1; // scope 1 at $DIR/lower_intrinsics.rs:+2:45: +2:46
StorageLive(_8); // scope 1 at $DIR/lower_intrinsics.rs:+2:48: +2:49
_8 = _2; // scope 1 at $DIR/lower_intrinsics.rs:+2:48: +2:49
- _6 = wrapping_sub::<i32>(move _7, move _8) -> [return: bb2, unwind unreachable]; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
- // mir::Constant
- // + span: $DIR/lower_intrinsics.rs:10:14: 10:44
- // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_sub::<i32>}, val: Value(<ZST>) }
+ _6 = Sub(move _7, move _8); // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
+ goto -> bb2; // scope 1 at $DIR/lower_intrinsics.rs:+2:14: +2:50
}
bb2: {
StorageDead(_8); // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50
StorageDead(_7); // scope 1 at $DIR/lower_intrinsics.rs:+2:49: +2:50
StorageLive(_9); // scope 2 at $DIR/lower_intrinsics.rs:+3:9: +3:11
StorageLive(_10); // scope 2 at $DIR/lower_intrinsics.rs:+3:45: +3:46
_10 = _1; // scope 2 at $DIR/lower_intrinsics.rs:+3:45: +3:46
StorageLive(_11); // scope 2 at $DIR/lower_intrinsics.rs:+3:48: +3:49
_11 = _2; // scope 2 at $DIR/lower_intrinsics.rs:+3:48: +3:49
- _9 = wrapping_mul::<i32>(move _10, move _11) -> [return: bb3, unwind unreachable]; // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
- // mir::Constant
- // + span: $DIR/lower_intrinsics.rs:11:14: 11:44
- // + literal: Const { ty: extern "rust-intrinsic" fn(i32, i32) -> i32 {wrapping_mul::<i32>}, val: Value(<ZST>) }
+ _9 = Mul(move _10, move _11); // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
+ goto -> bb3; // scope 2 at $DIR/lower_intrinsics.rs:+3:14: +3:50
}
bb3: {
StorageDead(_11); // scope 2 at $DIR/lower_intrinsics.rs:+3:49: +3:50
StorageDead(_10); // scope 2 at $DIR/lower_intrinsics.rs:+3:49: +3:50
_0 = const (); // scope 0 at $DIR/lower_intrinsics.rs:+0:33: +4:2
StorageDead(_9); // scope 2 at $DIR/lower_intrinsics.rs:+4:1: +4:2
StorageDead(_6); // scope 1 at $DIR/lower_intrinsics.rs:+4:1: +4:2
StorageDead(_3); // scope 0 at $DIR/lower_intrinsics.rs:+4:1: +4:2
return; // scope 0 at $DIR/lower_intrinsics.rs:+4:2: +4:2
}
}
|