95eb5bcb67
By using FxIndexMap instead of FxHashMap, so that the order of visiting of locals is deterministic. We also need to bless copy_propagation_arg.foo.DestinationPropagation.panic*.diff. Do not review the diff of the diff. Instead look at the diff file before and after this commit. Both before and after this commit, 3 statements are replaced with nop. It's just that due to change in ordering, different statements are replaced. But the net result is the same.
30 lines
642 B
Diff
30 lines
642 B
Diff
- // MIR for `foo` before DestinationPropagation
|
|
+ // MIR for `foo` after DestinationPropagation
|
|
|
|
fn foo(_1: u8) -> () {
|
|
debug x => _1;
|
|
let mut _0: ();
|
|
let mut _2: u8;
|
|
let mut _3: u8;
|
|
|
|
bb0: {
|
|
StorageLive(_2);
|
|
- StorageLive(_3);
|
|
- _3 = _1;
|
|
- _2 = dummy(move _3) -> [return: bb1, unwind unreachable];
|
|
+ nop;
|
|
+ nop;
|
|
+ _2 = dummy(move _1) -> [return: bb1, unwind unreachable];
|
|
}
|
|
|
|
bb1: {
|
|
- StorageDead(_3);
|
|
+ nop;
|
|
_1 = move _2;
|
|
StorageDead(_2);
|
|
_0 = const ();
|
|
return;
|
|
}
|
|
}
|
|
|