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

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

27 lines
647 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_unprop_assign.main.GVN.diff
fn main() {
// CHECK-LABEL: fn main(
// CHECK: debug a => [[a:_.*]];
// CHECK: debug x => [[x:_.*]];
// CHECK: debug y => [[y:_.*]];
// CHECK: debug z => [[z:_.*]];
// CHECK: [[a]] = foo()
// CHECK: [[x]] = const (1_i32, 2_i32);
2023-09-20 16:43:33 -05:00
// CHECK: ([[x]].1: i32) = [[a]];
// CHECK: [[y]] = ([[x]].1: i32);
2023-09-20 16:43:33 -05:00
// CHECK: [[z]] = ([[x]].0: i32);
let a = foo();
let mut x: (i32, i32) = (1, 2);
x.1 = a;
let y = x.1;
let z = x.0;
}
#[inline(never)]
fn foo() -> i32 {
unimplemented!()
}