Skip to content

Instantly share code, notes, and snippets.

@pcwalton
Created September 8, 2016 21:36
Show Gist options
  • Save pcwalton/9b9edb000ccd8542b44e037c2592665a to your computer and use it in GitHub Desktop.
Save pcwalton/9b9edb000ccd8542b44e037c2592665a to your computer and use it in GitHub Desktop.
// MIR for `wrapping_sub`
// node_id = 6
// pass_name = CopyPropagation
// disambiguator = before
fn wrapping_sub(arg0: u32, arg1: u32) -> u32 {
scope 1 {
let var0: u32; // "x" in scope 1 at test.rs:4:21: 4:22
let var1: u32; // "y" in scope 1 at test.rs:4:29: 4:30
}
let mut tmp0: u32;
let mut tmp1: u32;
bb0: {
StorageLive(var0); // scope 0 at test.rs:4:21: 4:22
var0 = arg0; // scope 0 at test.rs:4:21: 4:22
StorageLive(var1); // scope 0 at test.rs:4:29: 4:30
var1 = arg1; // scope 0 at test.rs:4:29: 4:30
StorageLive(tmp0); // scope 1 at test.rs:5:5: 5:6
tmp0 = var0; // scope 1 at test.rs:5:5: 5:6
StorageLive(tmp1); // scope 1 at test.rs:5:9: 5:10
tmp1 = var1; // scope 1 at test.rs:5:9: 5:10
return = Sub(tmp0, tmp1); // scope 1 at test.rs:5:5: 5:10
StorageDead(tmp1); // scope 1 at test.rs:5:9: 5:10
StorageDead(tmp0); // scope 1 at test.rs:5:5: 5:6
StorageDead(var1); // scope 0 at test.rs:4:29: 4:30
StorageDead(var0); // scope 0 at test.rs:4:21: 4:22
goto -> bb1; // scope 1 at test.rs:4:1: 6:2
}
bb1: {
return; // scope 1 at test.rs:4:1: 6:2
}
}
// MIR for `wrapping_sub`
// node_id = 6
// pass_name = CopyPropagation
// disambiguator = after
fn wrapping_sub(arg0: u32, arg1: u32) -> u32 {
scope 1 {
let var0: u32; // "x" in scope 1 at test.rs:4:21: 4:22
let var1: u32; // "y" in scope 1 at test.rs:4:29: 4:30
}
let mut tmp0: u32;
let mut tmp1: u32;
bb0: {
nop; // scope 0 at test.rs:4:21: 4:22
nop; // scope 0 at test.rs:4:21: 4:22
nop; // scope 0 at test.rs:4:29: 4:30
nop; // scope 0 at test.rs:4:29: 4:30
nop; // scope 1 at test.rs:5:5: 5:6
nop; // scope 1 at test.rs:5:5: 5:6
nop; // scope 1 at test.rs:5:9: 5:10
nop; // scope 1 at test.rs:5:9: 5:10
return = Sub(arg0, arg1); // scope 1 at test.rs:5:5: 5:10
nop; // scope 1 at test.rs:5:9: 5:10
nop; // scope 1 at test.rs:5:5: 5:6
nop; // scope 0 at test.rs:4:29: 4:30
nop; // scope 0 at test.rs:4:21: 4:22
goto -> bb1; // scope 1 at test.rs:4:1: 6:2
}
bb1: {
return; // scope 1 at test.rs:4:1: 6:2
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment