rustc_mir: create the Integrator as soon as possible in MIR inlining.
This commit is contained in:
parent
0ce4452fce
commit
9b21c50335
5 changed files with 96 additions and 97 deletions
|
|
@ -4,15 +4,15 @@ fn bar() -> bool {
|
|||
let mut _0: bool; // return place in scope 0 at $DIR/inline-any-operand.rs:10:13: 10:17
|
||||
let _1: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:11:9: 11:10
|
||||
let mut _2: fn(i32, i32) -> bool {foo}; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:6
|
||||
let mut _5: i32; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
let mut _6: i32; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
let mut _3: i32; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
let mut _4: i32; // in scope 0 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
scope 1 {
|
||||
debug f => _1; // in scope 1 at $DIR/inline-any-operand.rs:11:9: 11:10
|
||||
scope 2 (inlined foo) { // at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
debug x => _5; // in scope 2 at $DIR/inline-any-operand.rs:16:8: 16:9
|
||||
debug y => _6; // in scope 2 at $DIR/inline-any-operand.rs:16:16: 16:17
|
||||
let mut _3: i32; // in scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
let mut _4: i32; // in scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
debug x => _3; // in scope 2 at $DIR/inline-any-operand.rs:16:8: 16:9
|
||||
debug y => _4; // in scope 2 at $DIR/inline-any-operand.rs:16:16: 16:17
|
||||
let mut _5: i32; // in scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
let mut _6: i32; // in scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -24,19 +24,19 @@ fn bar() -> bool {
|
|||
// + literal: Const { ty: fn(i32, i32) -> bool {foo}, val: Value(Scalar(<ZST>)) }
|
||||
StorageLive(_2); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
|
||||
_2 = _1; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:6
|
||||
StorageLive(_5); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
_5 = const 1_i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageLive(_6); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
_6 = const -1_i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageLive(_3); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
_3 = _5; // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
StorageLive(_4); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
_4 = _6; // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
_0 = Eq(move _3, move _4); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11
|
||||
StorageDead(_4); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
StorageDead(_3); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageDead(_5); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageLive(_3); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
_3 = const 1_i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageLive(_4); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
_4 = const -1_i32; // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageLive(_5); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
_5 = _3; // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:6
|
||||
StorageLive(_6); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
_6 = _4; // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
_0 = Eq(move _5, move _6); // scope 2 at $DIR/inline-any-operand.rs:17:5: 17:11
|
||||
StorageDead(_6); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
StorageDead(_5); // scope 2 at $DIR/inline-any-operand.rs:17:10: 17:11
|
||||
StorageDead(_4); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageDead(_3); // scope 1 at $DIR/inline-any-operand.rs:12:5: 12:13
|
||||
StorageDead(_2); // scope 1 at $DIR/inline-any-operand.rs:12:12: 12:13
|
||||
StorageDead(_1); // scope 0 at $DIR/inline-any-operand.rs:13:1: 13:2
|
||||
return; // scope 0 at $DIR/inline-any-operand.rs:13:2: 13:2
|
||||
|
|
|
|||
|
|
@ -9,16 +9,16 @@ fn foo(_1: T, _2: &i32) -> i32 {
|
|||
let mut _5: (&i32, &i32); // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
let mut _6: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:7: 16:8
|
||||
let mut _7: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
|
||||
let mut _8: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
let mut _9: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
let mut _10: &i32; // in scope 0 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
scope 1 {
|
||||
debug x => _3; // in scope 1 at $DIR/inline-closure-borrows-arg.rs:12:9: 12:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
debug r => _9; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:12:14: 12:15
|
||||
debug _s => _10; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:12:23: 12:25
|
||||
let _8: &i32; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
|
||||
debug r => _8; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:12:14: 12:15
|
||||
debug _s => _9; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:12:23: 12:25
|
||||
let _10: &i32; // in scope 2 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
|
||||
scope 3 {
|
||||
debug variable => _8; // in scope 3 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
|
||||
debug variable => _10; // in scope 3 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -34,16 +34,16 @@ fn foo(_1: T, _2: &i32) -> i32 {
|
|||
_7 = &(*_2); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:10: 16:11
|
||||
(_5.0: &i32) = move _6; // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
(_5.1: &i32) = move _7; // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageLive(_8); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
_8 = move (_5.0: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageLive(_9); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
_9 = move (_5.0: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageLive(_10); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
_10 = move (_5.1: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageLive(_8); // scope 2 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
|
||||
_8 = _9; // scope 2 at $DIR/inline-closure-borrows-arg.rs:13:24: 13:27
|
||||
_0 = (*_9); // scope 3 at $DIR/inline-closure-borrows-arg.rs:14:9: 14:18
|
||||
StorageDead(_8); // scope 2 at $DIR/inline-closure-borrows-arg.rs:15:5: 15:6
|
||||
StorageDead(_10); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
_9 = move (_5.1: &i32); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageLive(_10); // scope 2 at $DIR/inline-closure-borrows-arg.rs:13:13: 13:21
|
||||
_10 = _8; // scope 2 at $DIR/inline-closure-borrows-arg.rs:13:24: 13:27
|
||||
_0 = (*_8); // scope 3 at $DIR/inline-closure-borrows-arg.rs:14:9: 14:18
|
||||
StorageDead(_10); // scope 2 at $DIR/inline-closure-borrows-arg.rs:15:5: 15:6
|
||||
StorageDead(_9); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageDead(_8); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:5: 16:12
|
||||
StorageDead(_7); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
|
||||
StorageDead(_5); // scope 1 at $DIR/inline-closure-borrows-arg.rs:16:11: 16:12
|
||||
|
|
|
|||
|
|
@ -10,14 +10,14 @@ fn foo(_1: T, _2: i32) -> (i32, T) {
|
|||
let mut _6: &[closure@foo<T>::{closure#0}]; // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:6
|
||||
let mut _7: (i32,); // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
let mut _8: i32; // in scope 0 at $DIR/inline-closure-captures.rs:12:7: 12:8
|
||||
let mut _10: i32; // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
let mut _9: i32; // in scope 0 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
scope 1 {
|
||||
debug x => _3; // in scope 1 at $DIR/inline-closure-captures.rs:11:9: 11:10
|
||||
scope 2 (inlined foo::<T>::{closure#0}) { // at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
debug _q => _10; // in scope 2 at $DIR/inline-closure-captures.rs:11:14: 11:16
|
||||
debug _q => _9; // in scope 2 at $DIR/inline-closure-captures.rs:11:14: 11:16
|
||||
debug q => (*((*_6).0: &i32)); // in scope 2 at $DIR/inline-closure-captures.rs:10:23: 10:24
|
||||
debug t => (*((*_6).1: &T)); // in scope 2 at $DIR/inline-closure-captures.rs:10:17: 10:18
|
||||
let mut _9: T; // in scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
|
||||
let mut _10: T; // in scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -37,14 +37,14 @@ fn foo(_1: T, _2: i32) -> (i32, T) {
|
|||
StorageLive(_8); // scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8
|
||||
_8 = _2; // scope 1 at $DIR/inline-closure-captures.rs:12:7: 12:8
|
||||
(_7.0: i32) = move _8; // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
StorageLive(_10); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
_10 = move (_7.0: i32); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
StorageLive(_9); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
_9 = move (_7.0: i32); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
(_0.0: i32) = (*((*_6).0: &i32)); // scope 2 at $DIR/inline-closure-captures.rs:11:19: 11:20
|
||||
StorageLive(_9); // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
|
||||
_9 = (*((*_6).1: &T)); // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
|
||||
(_0.1: T) = move _9; // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
|
||||
StorageDead(_9); // scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24
|
||||
StorageDead(_10); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
StorageLive(_10); // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
|
||||
_10 = (*((*_6).1: &T)); // scope 2 at $DIR/inline-closure-captures.rs:11:22: 11:23
|
||||
(_0.1: T) = move _10; // scope 2 at $DIR/inline-closure-captures.rs:11:18: 11:24
|
||||
StorageDead(_10); // scope 2 at $DIR/inline-closure-captures.rs:11:23: 11:24
|
||||
StorageDead(_9); // scope 1 at $DIR/inline-closure-captures.rs:12:5: 12:9
|
||||
StorageDead(_8); // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
|
||||
StorageDead(_7); // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
|
||||
StorageDead(_6); // scope 1 at $DIR/inline-closure-captures.rs:12:8: 12:9
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@ fn main() -> () {
|
|||
let mut _2: &[closure@$DIR/issue-76997-inline-scopes-parenting.rs:5:13: 5:33]; // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:6
|
||||
let mut _3: ((),); // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
let mut _4: (); // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:7: 6:9
|
||||
let mut _6: (); // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
let mut _5: (); // in scope 0 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
scope 1 {
|
||||
debug f => _1; // in scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:5:9: 5:10
|
||||
scope 2 (inlined main::{closure#0}) { // at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
debug x => _6; // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:14: 5:15
|
||||
let _5: (); // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
|
||||
debug x => _5; // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:14: 5:15
|
||||
let _6: (); // in scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
|
||||
scope 3 {
|
||||
debug y => _5; // in scope 3 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
|
||||
debug y => _6; // in scope 3 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -25,13 +25,13 @@ fn main() -> () {
|
|||
StorageLive(_3); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
StorageLive(_4); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:7: 6:9
|
||||
(_3.0: ()) = move _4; // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
StorageLive(_6); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
_6 = move (_3.0: ()); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
StorageLive(_5); // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
|
||||
_5 = const (); // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:27: 5:28
|
||||
StorageLive(_5); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
_5 = move (_3.0: ()); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
StorageLive(_6); // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:23: 5:24
|
||||
_6 = const (); // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:27: 5:28
|
||||
_0 = const (); // scope 3 at $DIR/issue-76997-inline-scopes-parenting.rs:5:30: 5:31
|
||||
StorageDead(_5); // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:32: 5:33
|
||||
StorageDead(_6); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
StorageDead(_6); // scope 2 at $DIR/issue-76997-inline-scopes-parenting.rs:5:32: 5:33
|
||||
StorageDead(_5); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:5: 6:10
|
||||
StorageDead(_4); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:9: 6:10
|
||||
StorageDead(_3); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:9: 6:10
|
||||
StorageDead(_2); // scope 1 at $DIR/issue-76997-inline-scopes-parenting.rs:6:9: 6:10
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue