rust/tests/mir-opt/const_prop/mutable_variable_aggregate_partial_read.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

23 lines
539 B
Rust
Raw Normal View History

// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
2023-09-20 16:43:33 -05:00
//@ unit-test: GVN
2023-09-20 16:43:33 -05:00
// EMIT_MIR mutable_variable_aggregate_partial_read.main.GVN.diff
fn main() {
// CHECK-LABEL: fn main(
// CHECK: debug x => [[x:_.*]];
// CHECK: debug y => [[y:_.*]];
// CHECK: [[x]] = foo()
// CHECK: ([[x]].1: i32) = const 99_i32;
// CHECK: ([[x]].0: i32) = const 42_i32;
2023-09-20 16:43:33 -05:00
// CHECK: [[y]] = ([[x]].1: i32);
let mut x: (i32, i32) = foo();
x.1 = 99;
x.0 = 42;
let y = x.1;
}
#[inline(never)]
fn foo() -> (i32, i32) {
unimplemented!()
}