2023-10-16 12:36:39 -05:00
|
|
|
// skip-filecheck
|
2023-06-08 02:18:34 -05:00
|
|
|
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
|
2022-12-15 18:00:00 -06:00
|
|
|
// Check that unreachable code is removed after the destination propagation.
|
|
|
|
// Regression test for issue #105428.
|
|
|
|
//
|
|
|
|
// compile-flags: --crate-type=lib -Zmir-opt-level=0
|
2023-09-20 16:43:33 -05:00
|
|
|
// compile-flags: -Zmir-enable-passes=+GVN,+SimplifyConstCondition-after-const-prop,+DestinationPropagation
|
2022-12-15 18:00:00 -06:00
|
|
|
|
|
|
|
// EMIT_MIR unreachable.f.DestinationPropagation.diff
|
|
|
|
pub fn f<T: Copy>(a: T) {
|
|
|
|
let b = a;
|
|
|
|
if false {
|
|
|
|
g(a, b);
|
|
|
|
} else {
|
|
|
|
g(b, b);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[inline(never)]
|
|
|
|
pub fn g<T: Copy>(_: T, _: T) {}
|