rust/tests/mir-opt/dataflow-const-prop/issue_81605.rs

21 lines
670 B
Rust

//@ unit-test: DataflowConstProp
// EMIT_MIR issue_81605.f.DataflowConstProp.diff
// Plese find the original issue [here](https://github.com/rust-lang/rust/issues/81605).
// This test program comes directly from the issue. Prior to this issue,
// the compiler cannot simplify the return value of `f` into 2. This was
// solved by adding a new MIR constant propagation based on dataflow
// analysis in [#101168](https://github.com/rust-lang/rust/pull/101168).
// CHECK-LABEL: fn f(
fn f() -> usize {
// CHECK: switchInt(const true) -> [0: {{bb.*}}, otherwise: {{bb.*}}];
1 + if true { 1 } else { 2 }
// CHECK: _0 = const 2_usize;
}
fn main() {
f();
}