Update MIR opt tests

This commit is contained in:
Matthew Jasper 2018-06-27 22:06:21 +01:00
parent 9185bb3061
commit 43fce075d3
14 changed files with 83 additions and 125 deletions

View file

@ -21,13 +21,13 @@ fn main() {
// END RUST SOURCE
// START rustc.norm2.InstCombine.before.mir
// _5 = Len(_1);
// _4 = Len(_1);
// ...
// _10 = Len(_1);
// _8 = Len(_1);
// END rustc.norm2.InstCombine.before.mir
// START rustc.norm2.InstCombine.after.mir
// _5 = const 2usize;
// _4 = const 2usize;
// ...
// _10 = const 2usize;
// _8 = const 2usize;
// END rustc.norm2.InstCombine.after.mir

View file

@ -22,12 +22,9 @@ fn main() {
// START rustc.test.CopyPropagation.before.mir
// bb0: {
// ...
// _3 = _1;
// _2 = _1;
// ...
// _2 = move _3;
// ...
// _4 = _2;
// _0 = move _4;
// _0 = _2;
// ...
// return;
// }
@ -35,7 +32,7 @@ fn main() {
// START rustc.test.CopyPropagation.after.mir
// bb0: {
// ...
// _0 = move _1;
// _0 = _1;
// ...
// return;
// }

View file

@ -117,13 +117,11 @@ fn main() {
// START rustc.arg_src.CopyPropagation.before.mir
// bb0: {
// ...
// _3 = _1;
// _2 = move _3;
// _2 = _1;
// ...
// _1 = const 123i32;
// ...
// _4 = _2;
// _0 = move _4;
// _0 = _2;
// ...
// return;
// }
@ -131,11 +129,11 @@ fn main() {
// START rustc.arg_src.CopyPropagation.after.mir
// bb0: {
// ...
// _3 = _1;
// _2 = _1;
// ...
// _1 = const 123i32;
// ...
// _0 = move _3;
// _0 = _2;
// ...
// return;
// }

View file

@ -68,13 +68,9 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
// START rustc.main-{{closure}}.SimplifyCfg-qualify-consts.after.mir
// fn main::{{closure}}(_1: [closure@NodeId(18) d:&'14s D]) -> i32 {
// let mut _0: i32;
// let mut _2: i32;
//
// bb0: {
// StorageLive(_2);
// _2 = ((*(_1.0: &'14s D)).0: i32);
// _0 = move _2;
// StorageDead(_2);
// _0 = ((*(_1.0: &'14s D)).0: i32);
// return;
// }
// END rustc.main-{{closure}}.SimplifyCfg-qualify-consts.after.mir

View file

@ -70,14 +70,10 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
// ...
// let _2: &'16_0rs D;
// ...
// let mut _3: i32;
// bb0: {
// StorageLive(_2);
// _2 = &'16_0rs (*(_1.0: &'19s D));
// StorageLive(_3);
// _3 = ((*_2).0: i32);
// _0 = move _3;
// StorageDead(_3);
// _0 = ((*_2).0: i32);
// EndRegion('16_0rs);
// StorageDead(_2);
// return;

View file

@ -78,14 +78,10 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
// ...
// let _2: &'16_0rs D;
// ...
// let mut _3: i32;
// bb0: {
// StorageLive(_2);
// _2 = &'16_0rs (_1.0: D);
// StorageLive(_3);
// _3 = ((*_2).0: i32);
// _0 = move _3;
// StorageDead(_3);
// _0 = ((*_2).0: i32);
// EndRegion('16_0rs);
// StorageDead(_2);
// drop(_1) -> [return: bb2, unwind: bb1];

View file

@ -76,13 +76,9 @@ fn foo<F>(f: F) where F: FnOnce() -> i32 {
// START rustc.main-{{closure}}.SimplifyCfg-qualify-consts.after.mir
// fn main::{{closure}}(_1: [closure@NodeId(22) r:&'19s D]) -> i32 {
// let mut _0: i32;
// let mut _2: i32;
//
// bb0: {
// StorageLive(_2);
// _2 = ((*(_1.0: &'21_1rs D)).0: i32);
// _0 = move _2;
// StorageDead(_2);
// _0 = ((*(_1.0: &'21_1rs D)).0: i32);
// return;
// }
// }

View file

@ -65,52 +65,45 @@ unsafe impl<'a, #[may_dangle] 'b> Drop for D1<'a, 'b> {
// START rustc.main.QualifyAndPromoteConstants.before.mir
// fn main() -> () {
// let mut _0: ();
// let mut _0: ();
// let mut _1: &'12ds S1;
// let mut _2: &'12ds S1;
// let mut _3: D1<'12ds, '10s>;
// let mut _2: D1<'12ds, '10s>;
// let mut _3: &'12ds S1;
// let mut _4: &'12ds S1;
// let mut _5: &'12ds S1;
// let mut _6: S1;
// let mut _5: S1;
// let mut _6: &'10s S1;
// let mut _7: &'10s S1;
// let mut _8: &'10s S1;
// let mut _9: S1;
//
// let mut _8: S1;
// bb0: {
// StorageLive(_2);
// StorageLive(_3);
// StorageLive(_4);
// StorageLive(_5);
// _5 = S1::{{constructor}}(const "ex1",);
// _4 = &'12ds _5;
// _3 = &'12ds (*_4);
// StorageLive(_6);
// _6 = S1::{{constructor}}(const "ex1",);
// _5 = &'12ds _6;
// _4 = &'12ds (*_5);
// StorageLive(_7);
// StorageLive(_8);
// StorageLive(_9);
// _9 = S1::{{constructor}}(const "dang1",);
// _8 = &'10s _9;
// _7 = &'10s (*_8);
// _3 = D1<'12ds, '10s>::{{constructor}}(move _4, move _7);
// _8 = S1::{{constructor}}(const "dang1",);
// _7 = &'10s _8;
// _6 = &'10s (*_7);
// _2 = D1<'12ds, '10s>::{{constructor}}(move _3, move _6);
// EndRegion('10s);
// StorageDead(_7);
// StorageDead(_4);
// _2 = (_3.0: &'12ds S1);
// _1 = move _2;
// StorageDead(_2);
// drop(_3) -> [return: bb2, unwind: bb1];
// StorageDead(_6);
// StorageDead(_3);
// _1 = (_2.0: &'12ds S1);
// drop(_2) -> [return: bb2, unwind: bb1];
// }
//
// bb1: {
// resume;
// }
//
// bb2: {
// StorageDead(_3);
// StorageDead(_2);
// StorageDead(_7);
// StorageDead(_8);
// StorageDead(_9);
// StorageDead(_4);
// StorageDead(_5);
// StorageDead(_6);
// EndRegion('12ds);
// _0 = ();
// return;
@ -119,51 +112,44 @@ unsafe impl<'a, #[may_dangle] 'b> Drop for D1<'a, 'b> {
// END rustc.main.QualifyAndPromoteConstants.before.mir
// START rustc.main.QualifyAndPromoteConstants.after.mir
// fn main() -> () {
// fn main() -> (){
// let mut _0: ();
// let mut _1: &'12ds S1;
// let mut _2: &'12ds S1;
// let mut _3: D1<'12ds, '10s>;
// let mut _2: D1<'12ds, '10s>;
// let mut _3: &'12ds S1;
// let mut _4: &'12ds S1;
// let mut _5: &'12ds S1;
// let mut _6: S1;
// let mut _5: S1;
// let mut _6: &'10s S1;
// let mut _7: &'10s S1;
// let mut _8: &'10s S1;
// let mut _9: S1;
// let mut _10: &'10s S1;
// let mut _11: &'12ds S1;
//
// let mut _8: S1;
// let mut _9: &'10s S1;
// let mut _10: &'12ds S1;
// bb0: {
// StorageLive(_2);
// StorageLive(_3);
// StorageLive(_4);
// StorageLive(_5);
// _11 = promoted[1];
// _5 = &'12ds (*_11);
// _4 = &'12ds (*_5);
// _10 = promoted[1];
// _4 = &'12ds (*_10);
// _3 = &'12ds (*_4);
// StorageLive(_6);
// StorageLive(_7);
// StorageLive(_8);
// _10 = promoted[0];
// _8 = &'10s (*_10);
// _7 = &'10s (*_8);
// _3 = D1<'12ds, '10s>::{{constructor}}(move _4, move _7);
// _9 = promoted[0];
// _7 = &'10s (*_9);
// _6 = &'10s (*_7);
// _2 = D1<'12ds, '10s>::{{constructor}}(move _3, move _6);
// EndRegion('10s);
// StorageDead(_7);
// StorageDead(_4);
// _2 = (_3.0: &'12ds S1);
// _1 = move _2;
// StorageDead(_2);
// drop(_3) -> [return: bb2, unwind: bb1];
// StorageDead(_6);
// StorageDead(_3);
// _1 = (_2.0: &'12ds S1);
// drop(_2) -> [return: bb2, unwind: bb1];
// }
//
// bb1: {
// resume;
// }
//
// bb2: {
// StorageDead(_3);
// StorageDead(_8);
// StorageDead(_5);
// StorageDead(_2);
// StorageDead(_7);
// StorageDead(_4);
// EndRegion('12ds);
// _0 = ();
// return;

View file

@ -38,11 +38,9 @@ fn foo<T: Copy>(_t: T, q: &i32) -> i32 {
// ...
// _7 = &(*_2);
// _5 = (move _6, move _7);
// _9 = move (_5.0: &i32);
// _10 = move (_5.1: &i32);
// StorageLive(_8);
// _8 = (*_9);
// _0 = move _8;
// _8 = move (_5.0: &i32);
// _9 = move (_5.1: &i32);
// _0 = (*_8);
// ...
// return;
// }

View file

@ -36,7 +36,7 @@ fn foo<T: Copy>(_t: T, q: i32) -> i32 {
// _5 = (move _6, move _7);
// _8 = move (_5.0: i32);
// _9 = move (_5.1: i32);
// _0 = move _8;
// _0 = _8;
// ...
// return;
// }

View file

@ -182,8 +182,8 @@ fn main() {
// ...
// _1 = move (_13.0: i128);
// ...
// _17 = const 7i32 as u128 (Misc);
// _14 = const compiler_builtins::int::shift::rust_i128_shro(_1, move _17) -> bb16;
// _16 = const 7i32 as u128 (Misc);
// _14 = const compiler_builtins::int::shift::rust_i128_shro(_1, move _16) -> bb16;
// ...
// _1 = move (_14.0: i128);
// ...
@ -195,8 +195,8 @@ fn main() {
// ...
// assert(!move (_13.1: bool), "attempt to shift left with overflow") -> bb8;
// ...
// _16 = const 6i32 as u128 (Misc);
// _13 = const compiler_builtins::int::shift::rust_i128_shlo(_1, move _16) -> bb14;
// _15 = const 6i32 as u128 (Misc);
// _13 = const compiler_builtins::int::shift::rust_i128_shlo(_1, move _15) -> bb14;
// ...
// assert(!move (_14.1: bool), "attempt to shift right with overflow") -> bb9;
// END rustc.test_signed.Lower128Bit.after.mir
@ -218,8 +218,8 @@ fn main() {
// ...
// _1 = move (_7.0: u128);
// ...
// _11 = const 7i32 as u128 (Misc);
// _8 = const compiler_builtins::int::shift::rust_u128_shro(_1, move _11) -> bb14;
// _10 = const 7i32 as u128 (Misc);
// _8 = const compiler_builtins::int::shift::rust_u128_shro(_1, move _10) -> bb14;
// ...
// _1 = move (_8.0: u128);
// ...
@ -231,8 +231,8 @@ fn main() {
// ...
// assert(!move (_7.1: bool), "attempt to shift left with overflow") -> bb6;
// ...
// _10 = const 6i32 as u128 (Misc);
// _7 = const compiler_builtins::int::shift::rust_u128_shlo(_1, move _10) -> bb12;
// _9 = const 6i32 as u128 (Misc);
// _7 = const compiler_builtins::int::shift::rust_u128_shlo(_1, move _9) -> bb12;
// ...
// assert(!move (_8.1: bool), "attempt to shift right with overflow") -> bb7;
// END rustc.test_unsigned.Lower128Bit.after.mir

View file

@ -176,11 +176,11 @@ fn main() {
// ...
// _1 = const compiler_builtins::int::addsub::rust_i128_sub(_1, const 2i128) -> bb6;
// ...
// _11 = const 7i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_i128_shr(_1, move _11) -> bb9;
// _10 = const 7i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_i128_shr(_1, move _10) -> bb9;
// ...
// _12 = const 6i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_i128_shl(_1, move _12) -> bb10;
// _11 = const 6i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_i128_shl(_1, move _11) -> bb10;
// END rustc.test_signed.Lower128Bit.after.mir
// START rustc.test_unsigned.Lower128Bit.after.mir
@ -194,9 +194,9 @@ fn main() {
// ...
// _1 = const compiler_builtins::int::addsub::rust_u128_sub(_1, const 2u128) -> bb4;
// ...
// _5 = const 7i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_u128_shr(_1, move _5) -> bb7;
// _4 = const 7i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_u128_shr(_1, move _4) -> bb7;
// ...
// _6 = const 6i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_u128_shl(_1, move _6) -> bb8;
// _5 = const 6i32 as u32 (Misc);
// _1 = const compiler_builtins::int::shift::rust_u128_shl(_1, move _5) -> bb8;
// END rustc.test_unsigned.Lower128Bit.after.mir

View file

@ -32,9 +32,9 @@ fn main() {
// END RUST SOURCE
// START rustc.main.nll.0.mir
// | '_#2r | {bb2[0..=6], bb3[0..=1]}
// | '_#3r | {bb2[1..=6], bb3[0..=1]}
// | '_#4r | {bb2[5..=6], bb3[0..=1]}
// | '_#2r | {bb2[0..=3], bb3[0..=1]}
// | '_#3r | {bb2[1..=3], bb3[0..=1]}
// | '_#4r | {bb2[3], bb3[0..=1]}
// END rustc.main.nll.0.mir
// START rustc.main.nll.0.mir
// let _6: &'_#4r usize;
@ -43,7 +43,5 @@ fn main() {
// ...
// _2 = &'_#2r _1[_3];
// ...
// _7 = _2;
// ...
// _6 = move _7;
// _6 = _2;
// END rustc.main.nll.0.mir

View file

@ -67,10 +67,7 @@ fn main() {
// Validate(Suspend(ReScope(Remainder(BlockRemainder { block: ItemLocalId(25), first_statement_index: 0 }))), [(*_2): i32]);
// _3 = &ReErased (*_2);
// Validate(Acquire, [(*_3): i32/ReScope(Remainder(BlockRemainder { block: ItemLocalId(25), first_statement_index: 0 })) (imm)]);
// StorageLive(_4);
// _4 = (*_3);
// _0 = move _4;
// StorageDead(_4);
// _0 = (*_3);
// EndRegion(ReScope(Remainder(BlockRemainder { block: ItemLocalId(25), first_statement_index: 0 })));
// StorageDead(_3);
// return;