-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Do not deaggregate MIR #107267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not deaggregate MIR #107267
Changes from all commits
0241c29
feccf46
20dd5e0
b62a9da
6a0b218
134d819
10ec949
83173c6
473d0c5
5c39ba2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
- // MIR for `foo` before ConstProp | ||
+ // MIR for `foo` after ConstProp | ||
|
||
fn foo(_1: u8) -> () { | ||
debug x => _1; // in scope 0 at $DIR/aggregate.rs:+0:8: +0:9 | ||
let mut _0: (); // return place in scope 0 at $DIR/aggregate.rs:+0:15: +0:15 | ||
let _2: i32; // in scope 0 at $DIR/aggregate.rs:+2:9: +2:14 | ||
let mut _3: i32; // in scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
let mut _4: (i32, u8); // in scope 0 at $DIR/aggregate.rs:+2:17: +2:23 | ||
let mut _5: u8; // in scope 0 at $DIR/aggregate.rs:+2:21: +2:22 | ||
let mut _7: i32; // in scope 0 at $DIR/aggregate.rs:+3:18: +3:26 | ||
let mut _8: (u8, i32); // in scope 0 at $DIR/aggregate.rs:+3:18: +3:24 | ||
let mut _9: u8; // in scope 0 at $DIR/aggregate.rs:+3:19: +3:20 | ||
scope 1 { | ||
debug first => _2; // in scope 1 at $DIR/aggregate.rs:+2:9: +2:14 | ||
let _6: i32; // in scope 1 at $DIR/aggregate.rs:+3:9: +3:15 | ||
scope 2 { | ||
debug second => _6; // in scope 2 at $DIR/aggregate.rs:+3:9: +3:15 | ||
} | ||
} | ||
|
||
bb0: { | ||
StorageLive(_2); // scope 0 at $DIR/aggregate.rs:+2:9: +2:14 | ||
StorageLive(_3); // scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
StorageLive(_4); // scope 0 at $DIR/aggregate.rs:+2:17: +2:23 | ||
StorageLive(_5); // scope 0 at $DIR/aggregate.rs:+2:21: +2:22 | ||
_5 = _1; // scope 0 at $DIR/aggregate.rs:+2:21: +2:22 | ||
_4 = (const 0_i32, move _5); // scope 0 at $DIR/aggregate.rs:+2:17: +2:23 | ||
StorageDead(_5); // scope 0 at $DIR/aggregate.rs:+2:22: +2:23 | ||
- _3 = (_4.0: i32); // scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
- _2 = Add(move _3, const 1_i32); // scope 0 at $DIR/aggregate.rs:+2:17: +2:29 | ||
+ _3 = const 0_i32; // scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
+ _2 = const 1_i32; // scope 0 at $DIR/aggregate.rs:+2:17: +2:29 | ||
StorageDead(_3); // scope 0 at $DIR/aggregate.rs:+2:28: +2:29 | ||
StorageDead(_4); // scope 0 at $DIR/aggregate.rs:+2:29: +2:30 | ||
StorageLive(_6); // scope 1 at $DIR/aggregate.rs:+3:9: +3:15 | ||
StorageLive(_7); // scope 1 at $DIR/aggregate.rs:+3:18: +3:26 | ||
StorageLive(_8); // scope 1 at $DIR/aggregate.rs:+3:18: +3:24 | ||
StorageLive(_9); // scope 1 at $DIR/aggregate.rs:+3:19: +3:20 | ||
_9 = _1; // scope 1 at $DIR/aggregate.rs:+3:19: +3:20 | ||
_8 = (move _9, const 1_i32); // scope 1 at $DIR/aggregate.rs:+3:18: +3:24 | ||
StorageDead(_9); // scope 1 at $DIR/aggregate.rs:+3:23: +3:24 | ||
- _7 = (_8.1: i32); // scope 1 at $DIR/aggregate.rs:+3:18: +3:26 | ||
- _6 = Add(move _7, const 2_i32); // scope 1 at $DIR/aggregate.rs:+3:18: +3:30 | ||
+ _7 = const 1_i32; // scope 1 at $DIR/aggregate.rs:+3:18: +3:26 | ||
+ _6 = const 3_i32; // scope 1 at $DIR/aggregate.rs:+3:18: +3:30 | ||
StorageDead(_7); // scope 1 at $DIR/aggregate.rs:+3:29: +3:30 | ||
StorageDead(_8); // scope 1 at $DIR/aggregate.rs:+3:30: +3:31 | ||
_0 = const (); // scope 0 at $DIR/aggregate.rs:+0:15: +4:2 | ||
StorageDead(_6); // scope 1 at $DIR/aggregate.rs:+4:1: +4:2 | ||
StorageDead(_2); // scope 0 at $DIR/aggregate.rs:+4:1: +4:2 | ||
return; // scope 0 at $DIR/aggregate.rs:+4:2: +4:2 | ||
} | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
// MIR for `foo` after PreCodegen | ||
|
||
fn foo(_1: u8) -> () { | ||
debug x => _1; // in scope 0 at $DIR/aggregate.rs:+0:8: +0:9 | ||
let mut _0: (); // return place in scope 0 at $DIR/aggregate.rs:+0:15: +0:15 | ||
let _2: i32; // in scope 0 at $DIR/aggregate.rs:+2:9: +2:14 | ||
let mut _3: i32; // in scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
let mut _4: (i32, u8); // in scope 0 at $DIR/aggregate.rs:+2:17: +2:23 | ||
let mut _5: u8; // in scope 0 at $DIR/aggregate.rs:+2:21: +2:22 | ||
let mut _7: i32; // in scope 0 at $DIR/aggregate.rs:+3:18: +3:26 | ||
let mut _8: (u8, i32); // in scope 0 at $DIR/aggregate.rs:+3:18: +3:24 | ||
let mut _9: u8; // in scope 0 at $DIR/aggregate.rs:+3:19: +3:20 | ||
scope 1 { | ||
debug first => _2; // in scope 1 at $DIR/aggregate.rs:+2:9: +2:14 | ||
let _6: i32; // in scope 1 at $DIR/aggregate.rs:+3:9: +3:15 | ||
scope 2 { | ||
debug second => _6; // in scope 2 at $DIR/aggregate.rs:+3:9: +3:15 | ||
} | ||
} | ||
|
||
bb0: { | ||
StorageLive(_2); // scope 0 at $DIR/aggregate.rs:+2:9: +2:14 | ||
StorageLive(_3); // scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
StorageLive(_4); // scope 0 at $DIR/aggregate.rs:+2:17: +2:23 | ||
StorageLive(_5); // scope 0 at $DIR/aggregate.rs:+2:21: +2:22 | ||
_5 = _1; // scope 0 at $DIR/aggregate.rs:+2:21: +2:22 | ||
_4 = (const 0_i32, move _5); // scope 0 at $DIR/aggregate.rs:+2:17: +2:23 | ||
StorageDead(_5); // scope 0 at $DIR/aggregate.rs:+2:22: +2:23 | ||
_3 = const 0_i32; // scope 0 at $DIR/aggregate.rs:+2:17: +2:25 | ||
_2 = const 1_i32; // scope 0 at $DIR/aggregate.rs:+2:17: +2:29 | ||
StorageDead(_3); // scope 0 at $DIR/aggregate.rs:+2:28: +2:29 | ||
StorageDead(_4); // scope 0 at $DIR/aggregate.rs:+2:29: +2:30 | ||
StorageLive(_6); // scope 1 at $DIR/aggregate.rs:+3:9: +3:15 | ||
StorageLive(_7); // scope 1 at $DIR/aggregate.rs:+3:18: +3:26 | ||
StorageLive(_8); // scope 1 at $DIR/aggregate.rs:+3:18: +3:24 | ||
StorageLive(_9); // scope 1 at $DIR/aggregate.rs:+3:19: +3:20 | ||
_9 = _1; // scope 1 at $DIR/aggregate.rs:+3:19: +3:20 | ||
_8 = (move _9, const 1_i32); // scope 1 at $DIR/aggregate.rs:+3:18: +3:24 | ||
StorageDead(_9); // scope 1 at $DIR/aggregate.rs:+3:23: +3:24 | ||
_7 = const 1_i32; // scope 1 at $DIR/aggregate.rs:+3:18: +3:26 | ||
_6 = const 3_i32; // scope 1 at $DIR/aggregate.rs:+3:18: +3:30 | ||
StorageDead(_7); // scope 1 at $DIR/aggregate.rs:+3:29: +3:30 | ||
StorageDead(_8); // scope 1 at $DIR/aggregate.rs:+3:30: +3:31 | ||
_0 = const (); // scope 0 at $DIR/aggregate.rs:+0:15: +4:2 | ||
StorageDead(_6); // scope 1 at $DIR/aggregate.rs:+4:1: +4:2 | ||
StorageDead(_2); // scope 0 at $DIR/aggregate.rs:+4:1: +4:2 | ||
return; // scope 0 at $DIR/aggregate.rs:+4:2: +4:2 | ||
} | ||
} |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cg_clif needs to be updated too. Will do this over at the cg_clif repo.
Edit: done in bjorn3/rustc_codegen_cranelift@8494882