diff options
| author | bors <bors@rust-lang.org> | 2016-01-05 01:43:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-01-05 01:43:07 +0000 |
| commit | e2d649405ab0bcbc494471285108243ad7ceeca9 (patch) | |
| tree | 1a18963d7ca468f2309c963c7ccfe9e4109ac4c2 /src/libstd/sys/unix/stack_overflow.rs | |
| parent | d5e229057c93222afd4943a49d382c4c5d6e8c26 (diff) | |
| parent | 080994a189c7b3680e822d3f6ddf448c152e6374 (diff) | |
| download | rust-e2d649405ab0bcbc494471285108243ad7ceeca9.tar.gz rust-e2d649405ab0bcbc494471285108243ad7ceeca9.zip | |
Auto merge of #30707 - tsion:mir-text, r=nikomatsakis
r? @nikomatsakis
Textual MIR can be dumped for a particular `fn` with `#![rustc_mir(pretty = "filename.mir")]`. Below is an example of the text output.
```rust
struct Point {
x: i32,
y: i32,
}
fn example() -> Point {
let mut e = Point { x: 1, y: 2 };
let num = 5;
let plus_num = |x: i32| x + num;
e.y = plus_num(e.x);
e
}
```
```rust
fn() -> Point {
let mut var0: Point; // e
let var1: i32; // num
let var2: [closure@test.rs:84:20: 84:36 num:&i32]; // plus_num
let mut tmp0: ();
let mut tmp1: &i32;
let mut tmp2: ();
let mut tmp3: i32;
let mut tmp4: &[closure@test.rs:84:20: 84:36 num:&i32];
let mut tmp5: i32;
let mut tmp6: Point;
bb0: {
var0 = Point { x: 1, y: 2 };
var1 = 5;
tmp1 = &var1;
var2 = [closure@test.rs:84:20: 84:36] { num: tmp1 };
tmp4 = &var2;
tmp5 = var0.0;
tmp3 = tmp4(tmp5) -> [return: bb3, unwind: bb4];
}
bb1: {
return;
}
bb2: {
diverge;
}
bb3: {
drop var0.1;
var0.1 = tmp3;
drop tmp2;
drop var2;
drop var0;
tmp6 = var0;
return = tmp6;
drop tmp6;
goto -> bb1;
}
bb4: {
drop var2;
goto -> bb5;
}
bb5: {
drop var0;
goto -> bb2;
}
}
```
```rust
fn(arg0: &[closure@test.rs:84:20: 84:36 num:&i32], arg1: i32) -> i32 {
let var0: i32; // x
let mut tmp0: ();
let mut tmp1: i32;
let mut tmp2: i32;
bb0: {
var0 = arg1;
tmp1 = var0;
tmp2 = (*(*arg0).0);
return = Add(tmp1, tmp2);
goto -> bb1;
}
bb1: {
return;
}
bb2: {
diverge;
}
}
```
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions
