Skip to content

Commit e90c942

Browse files
committed
Update mir-opt test suite
1 parent 75b94e2 commit e90c942

22 files changed

+48
-13
lines changed

src/test/mir-opt/basic_assignment.rs

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ fn main() {
4747
// bb0: {
4848
// StorageLive(_1);
4949
// _1 = const false;
50+
// FakeRead(ForLet, _1);
5051
// StorageLive(_2);
5152
// StorageLive(_3);
5253
// _3 = _1;
@@ -55,6 +56,7 @@ fn main() {
5556
// StorageLive(_4);
5657
// _4 = std::option::Option<std::boxed::Box<u32>>::None;
5758
// AscribeUserType(_4, o, Canonical { variables: [], value: std::option::Option<std::boxed::Box<u32>> });
59+
// FakeRead(ForLet, _4);
5860
// StorageLive(_5);
5961
// StorageLive(_6);
6062
// _6 = move _4;

src/test/mir-opt/box_expr.rs

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ impl Drop for S {
6363
//
6464
// bb4: {
6565
// StorageDead(_2);
66+
// FakeRead(ForLet, _1);
6667
// StorageLive(_4);
6768
// _4 = move _1;
6869
// _3 = const std::mem::drop(move _4) -> [return: bb5, unwind: bb7];

src/test/mir-opt/end_region_1.rs

+2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ fn main() {
2929
// bb0: {
3030
// StorageLive(_1);
3131
// _1 = const 3i32;
32+
// FakeRead(ForLet, _1);
3233
// StorageLive(_2);
3334
// _2 = &'10_1rs _1;
35+
// FakeRead(ForLet, _2);
3436
// _0 = ();
3537
// EndRegion('10_1rs);
3638
// StorageDead(_2);

src/test/mir-opt/end_region_2.rs

+3
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@ fn main() {
4545
// bb2: {
4646
// StorageLive(_2);
4747
// _2 = const true;
48+
// FakeRead(ForLet, _2);
4849
// StorageLive(_3);
4950
// _3 = &'23_1rs _2;
51+
// FakeRead(ForLet, _3);
5052
// StorageLive(_5);
5153
// _5 = _2;
5254
// switchInt(move _5) -> [false: bb5, otherwise: bb4];
@@ -67,6 +69,7 @@ fn main() {
6769
// StorageDead(_5);
6870
// StorageLive(_7);
6971
// _7 = &'23_3rs _2;
72+
// FakeRead(ForLet, _7);
7073
// _1 = ();
7174
// EndRegion('23_3rs);
7275
// StorageDead(_7);

src/test/mir-opt/end_region_3.rs

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ fn main() {
4949
// _1 = const true;
5050
// StorageLive(_3);
5151
// _3 = &'26_1rs _1;
52+
// FakeRead(ForLet, _3);
5253
// StorageLive(_5);
5354
// _5 = _1;
5455
// switchInt(move _5) -> [false: bb5, otherwise: bb4];
@@ -69,6 +70,7 @@ fn main() {
6970
// StorageDead(_5);
7071
// StorageLive(_7);
7172
// _7 = &'26_3rs _1;
73+
// FakeRead(ForLet, _7);
7274
// _2 = ();
7375
// EndRegion('26_3rs);
7476
// StorageDead(_7);

src/test/mir-opt/end_region_4.rs

+4
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,13 @@ fn foo(i: i32) {
4545
// bb0: {
4646
// StorageLive(_1);
4747
// _1 = D::{{constructor}}(const 0i32,);
48+
// FakeRead(ForLet, _1);
4849
// StorageLive(_2);
4950
// _2 = const 0i32;
51+
// FakeRead(ForLet, _2);
5052
// StorageLive(_3);
5153
// _3 = &'26_2rs _2;
54+
// FakeRead(ForLet, _3);
5255
// StorageLive(_5);
5356
// _5 = (*_3);
5457
// _4 = const foo(move _5) -> [return: bb2, unwind: bb3];
@@ -60,6 +63,7 @@ fn foo(i: i32) {
6063
// StorageDead(_5);
6164
// StorageLive(_6);
6265
// _6 = &'26_4rs _2;
66+
// FakeRead(ForLet, _6);
6367
// _0 = ();
6468
// EndRegion('26_4rs);
6569
// StorageDead(_6);

src/test/mir-opt/end_region_5.rs

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
3838
// bb0: {
3939
// StorageLive(_1);
4040
// _1 = D::{{constructor}}(const 0i32,);
41+
// FakeRead(ForLet, _1);
4142
// StorageLive(_3);
4243
// StorageLive(_4);
4344
// _4 = &'14s _1;

src/test/mir-opt/end_region_6.rs

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
3838
// bb0: {
3939
// StorageLive(_1);
4040
// _1 = D::{{constructor}}(const 0i32,);
41+
// FakeRead(ForLet, _1);
4142
// StorageLive(_3);
4243
// StorageLive(_4);
4344
// _4 = &'19s _1;
@@ -73,6 +74,7 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
7374
// bb0: {
7475
// StorageLive(_2);
7576
// _2 = &'16_0rs (*(_1.0: &'19s D));
77+
// FakeRead(ForLet, _2);
7678
// _0 = ((*_2).0: i32);
7779
// EndRegion('16_0rs);
7880
// StorageDead(_2);

src/test/mir-opt/end_region_7.rs

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
3737
// bb0: {
3838
// StorageLive(_1);
3939
// _1 = D::{{constructor}}(const 0i32,);
40+
// FakeRead(ForLet, _1);
4041
// StorageLive(_3);
4142
// _3 = [closure@NodeId(22)] { d: move _1 };
4243
// _2 = const foo(move _3) -> [return: bb2, unwind: bb4];
@@ -74,6 +75,7 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
7475
// bb0: {
7576
// StorageLive(_2);
7677
// _2 = &'16_0rs (_1.0: D);
78+
// FakeRead(ForLet, _2);
7779
// _0 = ((*_2).0: i32);
7880
// EndRegion('16_0rs);
7981
// StorageDead(_2);

src/test/mir-opt/end_region_8.rs

+2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
4040
// bb0: {
4141
// StorageLive(_1);
4242
// _1 = D::{{constructor}}(const 0i32,);
43+
// FakeRead(ForLet, _1);
4344
// StorageLive(_2);
4445
// _2 = &'21_1rs _1;
46+
// FakeRead(ForLet, _2);
4547
// StorageLive(_4);
4648
// _4 = [closure@NodeId(22)] { r: _2 };
4749
// _3 = const foo(move _4) -> [return: bb2, unwind: bb3];

src/test/mir-opt/end_region_9.rs

+2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ fn main() {
5555
// bb0: {
5656
// StorageLive(_1);
5757
// _1 = const false;
58+
// FakeRead(ForLet, _1);
5859
// StorageLive(_2);
5960
// _2 = const 3i32;
61+
// FakeRead(ForLet, _2);
6062
// falseUnwind -> [real: bb2, cleanup: bb1];
6163
// }
6264
// bb1: {

src/test/mir-opt/end_region_cyclic.rs

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ fn query() -> bool { true }
8383
// StorageDead(_4);
8484
// _2 = S<'36_0rs> { r: move _3 };
8585
// StorageDead(_3);
86+
// FakeRead(ForLet, _2);
8687
// StorageLive(_6);
8788
// _6 = &'17s (_2.0: std::cell::Cell<std::option::Option<&'36_0rs S<'36_0rs>>>);
8889
// StorageLive(_7);

src/test/mir-opt/inline-closure-borrows-arg.rs

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ fn foo<T: Copy>(_t: T, q: &i32) -> i32 {
4040
// _5 = (move _6, move _7);
4141
// _8 = move (_5.0: &i32);
4242
// _9 = move (_5.1: &i32);
43+
// ...
4344
// _0 = (*_8);
4445
// ...
4546
// return;

src/test/mir-opt/issue-38669.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ fn main() {
2525
// bb0: {
2626
// StorageLive(_1);
2727
// _1 = const false;
28+
// FakeRead(ForLet, _1);
2829
// goto -> bb2;
2930
// }
3031
// bb1: {

src/test/mir-opt/issue-49232.rs

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ fn main() {
8787
// goto -> bb6;
8888
// }
8989
// bb14: {
90+
// FakeRead(ForLet, _2);
9091
// StorageDead(_3);
9192
// StorageLive(_7);
9293
// _7 = &_2;

src/test/mir-opt/loop_test.rs

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ fn main() {
4242
// bb5: { // The loop body (body_block)
4343
// StorageLive(_5);
4444
// _5 = const 1i32;
45+
// FakeRead(ForLet, _5);
4546
// StorageDead(_5);
4647
// goto -> bb4;
4748
// }

src/test/mir-opt/match_false_edges.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ fn main() {
6666
// goto -> bb13;
6767
// }
6868
// bb3: { // binding3(empty) and arm3
69-
// ReadForMatch(_4);
69+
// FakeRead(ForMatch, _4);
7070
// falseEdges -> [real: bb8, imaginary: bb4]; //pre_binding1
7171
// }
7272
// bb4: {
73-
// ReadForMatch(_4);
73+
// FakeRead(ForMatch, _4);
7474
// falseEdges -> [real: bb12, imaginary: bb5]; //pre_binding2
7575
// }
7676
// bb5: {
77-
// ReadForMatch(_4);
77+
// FakeRead(ForMatch, _4);
7878
// falseEdges -> [real: bb2, imaginary: bb6]; //pre_binding3
7979
// }
8080
// bb6: {
@@ -136,15 +136,15 @@ fn main() {
136136
// goto -> bb13;
137137
// }
138138
// bb3: {
139-
// ReadForMatch(_4);
139+
// FakeRead(ForMatch, _4);
140140
// falseEdges -> [real: bb8, imaginary: bb4]; //pre_binding1
141141
// }
142142
// bb4: {
143-
// ReadForMatch(_4);
143+
// FakeRead(ForMatch, _4);
144144
// falseEdges -> [real: bb2, imaginary: bb5]; //pre_binding2
145145
// }
146146
// bb5: {
147-
// ReadForMatch(_4);
147+
// FakeRead(ForMatch, _4);
148148
// falseEdges -> [real: bb12, imaginary: bb6]; //pre_binding3
149149
// }
150150
// bb6: {
@@ -202,19 +202,19 @@ fn main() {
202202
// resume;
203203
// }
204204
// bb2: {
205-
// ReadForMatch(_4);
205+
// FakeRead(ForMatch, _4);
206206
// falseEdges -> [real: bb7, imaginary: bb3]; //pre_binding1
207207
// }
208208
// bb3: {
209-
// ReadForMatch(_4);
209+
// FakeRead(ForMatch, _4);
210210
// falseEdges -> [real: bb11, imaginary: bb4]; //pre_binding2
211211
// }
212212
// bb4: {
213-
// ReadForMatch(_4);
213+
// FakeRead(ForMatch, _4);
214214
// falseEdges -> [real: bb12, imaginary: bb5]; //pre_binding3
215215
// }
216216
// bb5: {
217-
// ReadForMatch(_4);
217+
// FakeRead(ForMatch, _4);
218218
// falseEdges -> [real: bb16, imaginary: bb6]; //pre_binding4
219219
// }
220220
// bb6: {

src/test/mir-opt/nll/region-subtyping-basic.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ fn main() {
3232

3333
// END RUST SOURCE
3434
// START rustc.main.nll.0.mir
35-
// | '_#2r | U0 | {bb2[0..=3], bb3[0..=1]}
36-
// | '_#3r | U0 | {bb2[1..=3], bb3[0..=1]}
37-
// | '_#4r | U0 | {bb2[3], bb3[0..=1]}
35+
// | '_#2r | U0 | {bb2[0..=5], bb3[0..=1]}
36+
// | '_#3r | U0 | {bb2[1..=5], bb3[0..=1]}
37+
// | '_#4r | U0 | {bb2[4..=5], bb3[0..=1]}
3838
// END rustc.main.nll.0.mir
3939
// START rustc.main.nll.0.mir
4040
// let _6: &'_#4r usize;

src/test/mir-opt/storage_ranges.rs

+3
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,21 @@ fn main() {
2323
// bb0: {
2424
// StorageLive(_1);
2525
// _1 = const 0i32;
26+
// FakeRead(ForLet, _1);
2627
// StorageLive(_3);
2728
// StorageLive(_4);
2829
// StorageLive(_5);
2930
// _5 = _1;
3031
// _4 = std::option::Option<i32>::Some(move _5,);
3132
// StorageDead(_5);
3233
// _3 = &_4;
34+
// FakeRead(ForLet, _3);
3335
// _2 = ();
3436
// StorageDead(_4);
3537
// StorageDead(_3);
3638
// StorageLive(_6);
3739
// _6 = const 1i32;
40+
// FakeRead(ForLet, _6);
3841
// _0 = ();
3942
// StorageDead(_6);
4043
// StorageDead(_1);

src/test/mir-opt/validate_1.rs

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ fn main() {
6767
// Validate(Suspend(ReScope(Remainder { block: ItemLocalId(25), first_statement_index: 0 })), [(*_2): i32]);
6868
// _3 = &ReErased (*_2);
6969
// Validate(Acquire, [(*_3): i32/ReScope(Remainder { block: ItemLocalId(25), first_statement_index: 0 }) (imm)]);
70+
// FakeRead(ForLet, _3);
7071
// _0 = (*_3);
7172
// EndRegion(ReScope(Remainder { block: ItemLocalId(25), first_statement_index: 0 }));
7273
// StorageDead(_3);

src/test/mir-opt/validate_2.rs

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ fn main() {
2828
// Validate(Acquire, [_1: std::boxed::Box<[i32]>]);
2929
// StorageDead(_2);
3030
// StorageDead(_3);
31+
// FakeRead(ForLet, _1);
3132
// _0 = ();
3233
// Validate(Release, [_1: std::boxed::Box<[i32]>]);
3334
// drop(_1) -> [return: bb2, unwind: bb3];

src/test/mir-opt/validate_3.rs

+2
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,12 @@ fn main() {
4747
// bb0: {
4848
// StorageLive(_1);
4949
// _1 = Test { x: const 0i32 };
50+
// FakeRead(ForLet, _1);
5051
// StorageLive(_2);
5152
// Validate(Suspend(ReScope(Remainder { block: ItemLocalId(20), first_statement_index: 3 })), [_1: Test]);
5253
// _2 = &ReErased _1;
5354
// Validate(Acquire, [(*_2): Test/ReScope(Remainder { block: ItemLocalId(20), first_statement_index: 3 }) (imm)]);
55+
// FakeRead(ForLet, _2);
5456
// StorageLive(_4);
5557
// StorageLive(_5);
5658
// Validate(Suspend(ReScope(Node(ItemLocalId(18)))), [((*_2).0: i32): i32/ReScope(Remainder { block: ItemLocalId(20), first_statement_index: 3 }) (imm)]);

0 commit comments

Comments
 (0)