rust/tests/mir-opt/const_prop/tuple_literal_propagation.m...

38 lines
852 B
Diff

- // MIR for `main` before GVN
+ // MIR for `main` after GVN
fn main() -> () {
let mut _0: ();
let _1: (u32, u32);
let _2: ();
let mut _3: (u32, u32);
scope 1 {
debug x => _1;
}
bb0: {
- StorageLive(_1);
- _1 = (const 1_u32, const 2_u32);
+ nop;
+ _1 = const (1_u32, 2_u32);
StorageLive(_2);
StorageLive(_3);
- _3 = copy _1;
- _2 = consume(move _3) -> [return: bb1, unwind unreachable];
+ _3 = const (1_u32, 2_u32);
+ _2 = consume(const (1_u32, 2_u32)) -> [return: bb1, unwind unreachable];
}
bb1: {
StorageDead(_3);
StorageDead(_2);
_0 = const ();
- StorageDead(_1);
+ nop;
return;
}
}
+
+ ALLOC0 (size: 8, align: 4) { .. }