diff --git a/src/test/mir-opt/basic_assignment.rs b/src/test/mir-opt/basic_assignment.rs index f04d43289296..b474e1a0d6ca 100644 --- a/src/test/mir-opt/basic_assignment.rs +++ b/src/test/mir-opt/basic_assignment.rs @@ -47,6 +47,7 @@ fn main() { // bb0: { // StorageLive(_1); // _1 = const false; +// FakeRead(ForLet, _1); // StorageLive(_2); // StorageLive(_3); // _3 = _1; @@ -55,6 +56,7 @@ fn main() { // StorageLive(_4); // _4 = std::option::Option>::None; // AscribeUserType(_4, o, Canonical { variables: [], value: std::option::Option> }); +// FakeRead(ForLet, _4); // StorageLive(_5); // StorageLive(_6); // _6 = move _4; diff --git a/src/test/mir-opt/box_expr.rs b/src/test/mir-opt/box_expr.rs index 8390a0d19ae7..f6877d979e07 100644 --- a/src/test/mir-opt/box_expr.rs +++ b/src/test/mir-opt/box_expr.rs @@ -63,6 +63,7 @@ impl Drop for S { // // bb4: { // StorageDead(_2); +// FakeRead(ForLet, _1); // StorageLive(_4); // _4 = move _1; // _3 = const std::mem::drop(move _4) -> [return: bb5, unwind: bb7]; diff --git a/src/test/mir-opt/end_region_1.rs b/src/test/mir-opt/end_region_1.rs index 184459aa90eb..23c00c3bce1d 100644 --- a/src/test/mir-opt/end_region_1.rs +++ b/src/test/mir-opt/end_region_1.rs @@ -29,8 +29,10 @@ fn main() { // bb0: { // StorageLive(_1); // _1 = const 3i32; +// FakeRead(ForLet, _1); // StorageLive(_2); // _2 = &'10_1rs _1; +// FakeRead(ForLet, _2); // _0 = (); // EndRegion('10_1rs); // StorageDead(_2); diff --git a/src/test/mir-opt/end_region_2.rs b/src/test/mir-opt/end_region_2.rs index c40ab5253a07..08de5320a2b3 100644 --- a/src/test/mir-opt/end_region_2.rs +++ b/src/test/mir-opt/end_region_2.rs @@ -45,8 +45,10 @@ fn main() { // bb2: { // StorageLive(_2); // _2 = const true; +// FakeRead(ForLet, _2); // StorageLive(_3); // _3 = &'23_1rs _2; +// FakeRead(ForLet, _3); // StorageLive(_5); // _5 = _2; // switchInt(move _5) -> [false: bb5, otherwise: bb4]; @@ -67,6 +69,7 @@ fn main() { // StorageDead(_5); // StorageLive(_7); // _7 = &'23_3rs _2; +// FakeRead(ForLet, _7); // _1 = (); // EndRegion('23_3rs); // StorageDead(_7); diff --git a/src/test/mir-opt/end_region_3.rs b/src/test/mir-opt/end_region_3.rs index 086d80d15eac..189154332b85 100644 --- a/src/test/mir-opt/end_region_3.rs +++ b/src/test/mir-opt/end_region_3.rs @@ -49,6 +49,7 @@ fn main() { // _1 = const true; // StorageLive(_3); // _3 = &'26_1rs _1; +// FakeRead(ForLet, _3); // StorageLive(_5); // _5 = _1; // switchInt(move _5) -> [false: bb5, otherwise: bb4]; @@ -69,6 +70,7 @@ fn main() { // StorageDead(_5); // StorageLive(_7); // _7 = &'26_3rs _1; +// FakeRead(ForLet, _7); // _2 = (); // EndRegion('26_3rs); // StorageDead(_7); diff --git a/src/test/mir-opt/end_region_4.rs b/src/test/mir-opt/end_region_4.rs index fc58e0824e8b..d5701669d2bd 100644 --- a/src/test/mir-opt/end_region_4.rs +++ b/src/test/mir-opt/end_region_4.rs @@ -45,10 +45,13 @@ fn foo(i: i32) { // bb0: { // StorageLive(_1); // _1 = D::{{constructor}}(const 0i32,); +// FakeRead(ForLet, _1); // StorageLive(_2); // _2 = const 0i32; +// FakeRead(ForLet, _2); // StorageLive(_3); // _3 = &'26_2rs _2; +// FakeRead(ForLet, _3); // StorageLive(_5); // _5 = (*_3); // _4 = const foo(move _5) -> [return: bb2, unwind: bb3]; @@ -60,6 +63,7 @@ fn foo(i: i32) { // StorageDead(_5); // StorageLive(_6); // _6 = &'26_4rs _2; +// FakeRead(ForLet, _6); // _0 = (); // EndRegion('26_4rs); // StorageDead(_6); diff --git a/src/test/mir-opt/end_region_5.rs b/src/test/mir-opt/end_region_5.rs index 9496fd9e6c17..7a5d71ee21b9 100644 --- a/src/test/mir-opt/end_region_5.rs +++ b/src/test/mir-opt/end_region_5.rs @@ -38,6 +38,7 @@ fn foo(f: F) where F: FnOnce() -> i32 { // bb0: { // StorageLive(_1); // _1 = D::{{constructor}}(const 0i32,); +// FakeRead(ForLet, _1); // StorageLive(_3); // StorageLive(_4); // _4 = &'14s _1; diff --git a/src/test/mir-opt/end_region_6.rs b/src/test/mir-opt/end_region_6.rs index 910362f65c8d..b9162f85fa71 100644 --- a/src/test/mir-opt/end_region_6.rs +++ b/src/test/mir-opt/end_region_6.rs @@ -38,6 +38,7 @@ fn foo(f: F) where F: FnOnce() -> i32 { // bb0: { // StorageLive(_1); // _1 = D::{{constructor}}(const 0i32,); +// FakeRead(ForLet, _1); // StorageLive(_3); // StorageLive(_4); // _4 = &'19s _1; @@ -73,6 +74,7 @@ fn foo(f: F) where F: FnOnce() -> i32 { // bb0: { // StorageLive(_2); // _2 = &'16_0rs (*(_1.0: &'19s D)); +// FakeRead(ForLet, _2); // _0 = ((*_2).0: i32); // EndRegion('16_0rs); // StorageDead(_2); diff --git a/src/test/mir-opt/end_region_7.rs b/src/test/mir-opt/end_region_7.rs index 59261ec96874..4deea75e56b0 100644 --- a/src/test/mir-opt/end_region_7.rs +++ b/src/test/mir-opt/end_region_7.rs @@ -37,6 +37,7 @@ fn foo(f: F) where F: FnOnce() -> i32 { // bb0: { // StorageLive(_1); // _1 = D::{{constructor}}(const 0i32,); +// FakeRead(ForLet, _1); // StorageLive(_3); // _3 = [closure@NodeId(22)] { d: move _1 }; // _2 = const foo(move _3) -> [return: bb2, unwind: bb4]; @@ -74,6 +75,7 @@ fn foo(f: F) where F: FnOnce() -> i32 { // bb0: { // StorageLive(_2); // _2 = &'16_0rs (_1.0: D); +// FakeRead(ForLet, _2); // _0 = ((*_2).0: i32); // EndRegion('16_0rs); // StorageDead(_2); diff --git a/src/test/mir-opt/end_region_8.rs b/src/test/mir-opt/end_region_8.rs index a49913a62d9d..6f899a0db15d 100644 --- a/src/test/mir-opt/end_region_8.rs +++ b/src/test/mir-opt/end_region_8.rs @@ -40,8 +40,10 @@ fn foo(f: F) where F: FnOnce() -> i32 { // bb0: { // StorageLive(_1); // _1 = D::{{constructor}}(const 0i32,); +// FakeRead(ForLet, _1); // StorageLive(_2); // _2 = &'21_1rs _1; +// FakeRead(ForLet, _2); // StorageLive(_4); // _4 = [closure@NodeId(22)] { r: _2 }; // _3 = const foo(move _4) -> [return: bb2, unwind: bb3]; diff --git a/src/test/mir-opt/end_region_9.rs b/src/test/mir-opt/end_region_9.rs index 15c31e178759..b43f25e6f548 100644 --- a/src/test/mir-opt/end_region_9.rs +++ b/src/test/mir-opt/end_region_9.rs @@ -55,8 +55,10 @@ fn main() { // bb0: { // StorageLive(_1); // _1 = const false; +// FakeRead(ForLet, _1); // StorageLive(_2); // _2 = const 3i32; +// FakeRead(ForLet, _2); // falseUnwind -> [real: bb2, cleanup: bb1]; // } // bb1: { diff --git a/src/test/mir-opt/end_region_cyclic.rs b/src/test/mir-opt/end_region_cyclic.rs index 2d6962c5a5c1..75cfb5c2f623 100644 --- a/src/test/mir-opt/end_region_cyclic.rs +++ b/src/test/mir-opt/end_region_cyclic.rs @@ -83,6 +83,7 @@ fn query() -> bool { true } // StorageDead(_4); // _2 = S<'36_0rs> { r: move _3 }; // StorageDead(_3); +// FakeRead(ForLet, _2); // StorageLive(_6); // _6 = &'17s (_2.0: std::cell::Cell>>); // StorageLive(_7); diff --git a/src/test/mir-opt/inline-closure-borrows-arg.rs b/src/test/mir-opt/inline-closure-borrows-arg.rs index 6ce51be3ec5d..aab432ddc870 100644 --- a/src/test/mir-opt/inline-closure-borrows-arg.rs +++ b/src/test/mir-opt/inline-closure-borrows-arg.rs @@ -40,6 +40,7 @@ fn foo(_t: T, q: &i32) -> i32 { // _5 = (move _6, move _7); // _8 = move (_5.0: &i32); // _9 = move (_5.1: &i32); +// ... // _0 = (*_8); // ... // return; diff --git a/src/test/mir-opt/issue-38669.rs b/src/test/mir-opt/issue-38669.rs index a9eea26f4664..78820d7a6f5f 100644 --- a/src/test/mir-opt/issue-38669.rs +++ b/src/test/mir-opt/issue-38669.rs @@ -25,6 +25,7 @@ fn main() { // bb0: { // StorageLive(_1); // _1 = const false; +// FakeRead(ForLet, _1); // goto -> bb2; // } // bb1: { diff --git a/src/test/mir-opt/issue-49232.rs b/src/test/mir-opt/issue-49232.rs index 8e5a94abeed7..3bc735bc6c5e 100644 --- a/src/test/mir-opt/issue-49232.rs +++ b/src/test/mir-opt/issue-49232.rs @@ -87,6 +87,7 @@ fn main() { // goto -> bb6; // } // bb14: { +// FakeRead(ForLet, _2); // StorageDead(_3); // StorageLive(_7); // _7 = &_2; diff --git a/src/test/mir-opt/loop_test.rs b/src/test/mir-opt/loop_test.rs index d36d89080949..2e526a221cc7 100644 --- a/src/test/mir-opt/loop_test.rs +++ b/src/test/mir-opt/loop_test.rs @@ -42,6 +42,7 @@ fn main() { // bb5: { // The loop body (body_block) // StorageLive(_5); // _5 = const 1i32; +// FakeRead(ForLet, _5); // StorageDead(_5); // goto -> bb4; // } diff --git a/src/test/mir-opt/match_false_edges.rs b/src/test/mir-opt/match_false_edges.rs index 43e711ca902f..b9f4c2391273 100644 --- a/src/test/mir-opt/match_false_edges.rs +++ b/src/test/mir-opt/match_false_edges.rs @@ -66,15 +66,15 @@ fn main() { // goto -> bb13; // } // bb3: { // binding3(empty) and arm3 -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb8, imaginary: bb4]; //pre_binding1 // } // bb4: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb12, imaginary: bb5]; //pre_binding2 // } // bb5: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb2, imaginary: bb6]; //pre_binding3 // } // bb6: { @@ -136,15 +136,15 @@ fn main() { // goto -> bb13; // } // bb3: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb8, imaginary: bb4]; //pre_binding1 // } // bb4: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb2, imaginary: bb5]; //pre_binding2 // } // bb5: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb12, imaginary: bb6]; //pre_binding3 // } // bb6: { @@ -202,19 +202,19 @@ fn main() { // resume; // } // bb2: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb7, imaginary: bb3]; //pre_binding1 // } // bb3: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb11, imaginary: bb4]; //pre_binding2 // } // bb4: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb12, imaginary: bb5]; //pre_binding3 // } // bb5: { -// ReadForMatch(_4); +// FakeRead(ForMatch, _4); // falseEdges -> [real: bb16, imaginary: bb6]; //pre_binding4 // } // bb6: { diff --git a/src/test/mir-opt/nll/region-subtyping-basic.rs b/src/test/mir-opt/nll/region-subtyping-basic.rs index e554024efef4..2b926422b001 100644 --- a/src/test/mir-opt/nll/region-subtyping-basic.rs +++ b/src/test/mir-opt/nll/region-subtyping-basic.rs @@ -32,9 +32,9 @@ fn main() { // END RUST SOURCE // START rustc.main.nll.0.mir -// | '_#2r | U0 | {bb2[0..=3], bb3[0..=1]} -// | '_#3r | U0 | {bb2[1..=3], bb3[0..=1]} -// | '_#4r | U0 | {bb2[3], bb3[0..=1]} +// | '_#2r | U0 | {bb2[0..=5], bb3[0..=1]} +// | '_#3r | U0 | {bb2[1..=5], bb3[0..=1]} +// | '_#4r | U0 | {bb2[4..=5], bb3[0..=1]} // END rustc.main.nll.0.mir // START rustc.main.nll.0.mir // let _6: &'_#4r usize; diff --git a/src/test/mir-opt/storage_ranges.rs b/src/test/mir-opt/storage_ranges.rs index 16e30f84d175..203814ce949f 100644 --- a/src/test/mir-opt/storage_ranges.rs +++ b/src/test/mir-opt/storage_ranges.rs @@ -23,6 +23,7 @@ fn main() { // bb0: { // StorageLive(_1); // _1 = const 0i32; +// FakeRead(ForLet, _1); // StorageLive(_3); // StorageLive(_4); // StorageLive(_5); @@ -30,11 +31,13 @@ fn main() { // _4 = std::option::Option::Some(move _5,); // StorageDead(_5); // _3 = &_4; +// FakeRead(ForLet, _3); // _2 = (); // StorageDead(_4); // StorageDead(_3); // StorageLive(_6); // _6 = const 1i32; +// FakeRead(ForLet, _6); // _0 = (); // StorageDead(_6); // StorageDead(_1); diff --git a/src/test/mir-opt/validate_1.rs b/src/test/mir-opt/validate_1.rs index 882579c57108..3ea8e99e953b 100644 --- a/src/test/mir-opt/validate_1.rs +++ b/src/test/mir-opt/validate_1.rs @@ -67,6 +67,7 @@ fn main() { // Validate(Suspend(ReScope(Remainder { block: ItemLocalId(25), first_statement_index: 0 })), [(*_2): i32]); // _3 = &ReErased (*_2); // Validate(Acquire, [(*_3): i32/ReScope(Remainder { block: ItemLocalId(25), first_statement_index: 0 }) (imm)]); +// FakeRead(ForLet, _3); // _0 = (*_3); // EndRegion(ReScope(Remainder { block: ItemLocalId(25), first_statement_index: 0 })); // StorageDead(_3); diff --git a/src/test/mir-opt/validate_2.rs b/src/test/mir-opt/validate_2.rs index 3776a11b3ab8..0cb0b7debfaa 100644 --- a/src/test/mir-opt/validate_2.rs +++ b/src/test/mir-opt/validate_2.rs @@ -28,6 +28,7 @@ fn main() { // Validate(Acquire, [_1: std::boxed::Box<[i32]>]); // StorageDead(_2); // StorageDead(_3); +// FakeRead(ForLet, _1); // _0 = (); // Validate(Release, [_1: std::boxed::Box<[i32]>]); // drop(_1) -> [return: bb2, unwind: bb3]; diff --git a/src/test/mir-opt/validate_3.rs b/src/test/mir-opt/validate_3.rs index 07f5b2aa84b7..89b67bd34c83 100644 --- a/src/test/mir-opt/validate_3.rs +++ b/src/test/mir-opt/validate_3.rs @@ -47,10 +47,12 @@ fn main() { // bb0: { // StorageLive(_1); // _1 = Test { x: const 0i32 }; +// FakeRead(ForLet, _1); // StorageLive(_2); // Validate(Suspend(ReScope(Remainder { block: ItemLocalId(20), first_statement_index: 3 })), [_1: Test]); // _2 = &ReErased _1; // Validate(Acquire, [(*_2): Test/ReScope(Remainder { block: ItemLocalId(20), first_statement_index: 3 }) (imm)]); +// FakeRead(ForLet, _2); // StorageLive(_4); // StorageLive(_5); // Validate(Suspend(ReScope(Node(ItemLocalId(18)))), [((*_2).0: i32): i32/ReScope(Remainder { block: ItemLocalId(20), first_statement_index: 3 }) (imm)]);