Skip to content

Instantly share code, notes, and snippets.

@scottcarr
Created June 2, 2016 22:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scottcarr/e6a2cf6541c99021aa2cd5ca12403f0c to your computer and use it in GitHub Desktop.
Save scottcarr/e6a2cf6541c99021aa2cd5ca12403f0c to your computer and use it in GitHub Desktop.
// MIR for `main`
// node_id = 4
// pass_name = eliminate_moves
// disambiguator = 0
fn main() -> () {
let mut var0: i32; // "x" in scope 3 at main.rs:2:9: 2:14
let mut var1: i32; // "y" in scope 6 at main.rs:3:9: 3:14
let var2: &mut i32; // "p" in scope 12 at main.rs:5:13: 5:14
let var3: &i32; // "__arg0" in scope 42 at main.rs:1:1: 1:1
let var4: &i32; // "__arg0" in scope 61 at main.rs:1:1: 1:1
let mut tmp0: ();
let mut tmp1: i32;
let mut tmp2: i32;
let mut tmp3: ();
let mut tmp4: std::fmt::Arguments<'_>;
let mut tmp5: &[&str];
let mut tmp6: &[std::fmt::ArgumentV1<'_>];
let mut tmp7: &[std::fmt::ArgumentV1<'_>; 1];
let mut tmp8: &[std::fmt::ArgumentV1<'_>; 1];
let mut tmp9: [std::fmt::ArgumentV1<'_>; 1];
let mut tmp10: (&i32,);
let mut tmp11: &i32;
let mut tmp12: std::fmt::ArgumentV1<'_>;
let mut tmp13: &i32;
let mut tmp14: fn(&i32, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>;
let mut tmp15: ();
let mut tmp16: std::fmt::Arguments<'_>;
let mut tmp17: &[&str];
let mut tmp18: &[std::fmt::ArgumentV1<'_>];
let mut tmp19: &[std::fmt::ArgumentV1<'_>; 1];
let mut tmp20: &[std::fmt::ArgumentV1<'_>; 1];
let mut tmp21: [std::fmt::ArgumentV1<'_>; 1];
let mut tmp22: (&i32,);
let mut tmp23: &i32;
let mut tmp24: std::fmt::ArgumentV1<'_>;
let mut tmp25: &i32;
let mut tmp26: fn(&i32, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>;
bb0: {
var0 = const 0i32; // scope 5 at main.rs:2:17: 2:18
var1 = const 0i32; // scope 8 at main.rs:3:17: 3:18
var2 = &mut var1; // scope 14 at main.rs:5:17: 5:23
tmp1 = var0; // scope 19 at main.rs:6:13: 6:14
(*var2) = const 22i32; // scope 23 at main.rs:6:18: 6:25
tmp2 = const 3i32; // scope 27 at main.rs:6:27: 6:28
var0 = Add(tmp1, tmp2); // scope 17 at main.rs:6:9: 6:30
tmp0 = (); // scope 12 at main.rs:4:5: 7:6
tmp5 = &(*main::__STATIC_FMTSTR); // scope 36 at main.rs:8:5: 8:26
tmp11 = &var0; // scope 40 at main.rs:8:23: 8:24
tmp10 = (tmp11,); // scope 39 at main.rs:8:5: 8:26
var3 = (tmp10.0: &i32); // scope 38 at main.rs:1:1: 1:1
tmp13 = &(*var3); // scope 46 at main.rs:8:23: 8:24
tmp14 = <i32 as std::fmt::Display>::fmt as fn(&i32, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> (ReifyFnPointer); // scope 47 at main.rs:8:23: 8:24
tmp12 = std::fmt::ArgumentV1<'_>::new::<i32>(tmp13, tmp14) -> bb1; // scope 44 at <std macros>:2:27: 2:58
}
bb1: {
tmp9 = [tmp12]; // scope 43 at main.rs:8:5: 8:26
tmp8 = &tmp9; // scope 37 at main.rs:8:5: 8:26
tmp7 = &(*tmp8); // scope 37 at main.rs:8:5: 8:26
tmp6 = tmp7 as &[std::fmt::ArgumentV1<'_>] (Unsize); // scope 37 at main.rs:8:5: 8:26
tmp4 = std::fmt::Arguments<'_>::new_v1(tmp5, tmp6) -> bb2; // scope 32 at <std macros>:2:27: 2:58
}
bb2: {
tmp3 = std::io::_print(tmp4) -> bb3; // scope 30 at <std macros>:2:1: 2:60
}
bb3: {
tmp17 = &(*main::__STATIC_FMTSTR); // scope 55 at main.rs:9:5: 9:26
tmp23 = &var1; // scope 59 at main.rs:9:23: 9:24
tmp22 = (tmp23,); // scope 58 at main.rs:9:5: 9:26
var4 = (tmp22.0: &i32); // scope 57 at main.rs:1:1: 1:1
tmp25 = &(*var4); // scope 65 at main.rs:9:23: 9:24
tmp26 = <i32 as std::fmt::Display>::fmt as fn(&i32, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> (ReifyFnPointer); // scope 66 at main.rs:9:23: 9:24
tmp24 = std::fmt::ArgumentV1<'_>::new::<i32>(tmp25, tmp26) -> bb4; // scope 63 at <std macros>:2:27: 2:58
}
bb4: {
tmp21 = [tmp24]; // scope 62 at main.rs:9:5: 9:26
tmp20 = &tmp21; // scope 56 at main.rs:9:5: 9:26
tmp19 = &(*tmp20); // scope 56 at main.rs:9:5: 9:26
tmp18 = tmp19 as &[std::fmt::ArgumentV1<'_>] (Unsize); // scope 56 at main.rs:9:5: 9:26
tmp16 = std::fmt::Arguments<'_>::new_v1(tmp17, tmp18) -> bb5; // scope 51 at <std macros>:2:27: 2:58
}
bb5: {
tmp15 = std::io::_print(tmp16) -> bb6; // scope 49 at <std macros>:2:1: 2:60
}
bb6: {
return = (); // scope 6 at main.rs:1:11: 10:2
return; // scope 0 at main.rs:1:1: 10:2
}
scope tree:
0 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
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment