[llvm] [InstCombine] Opt phi(freeze(undef), C) -> phi(C, C) (PR #161181)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 29 04:51:07 PDT 2025


mikael-nilsson-arm wrote:

Alive proof:

```
define i32 @src(i1 %c0, i1 %c1) {
entry:
br i1 %c0, label %bb_freeze, label %bb_other

bb_freeze:
  %f = freeze i32 undef
br label %merge

bb_other:
br i1 %c1, label %cA, label %cB 
cA:
br label %merge
cB:
br label %merge

merge:
  %phi = phi i32 [ %f, %bb_freeze ], [ 42, %cA ], [ 42, %cB ]
ret i32 %phi
}
define i32 @tgt(i1 %c0, i1 %c1) {
entry:
br i1 %c0, label %bb_freeze, label %bb_other

bb_freeze:
br label %merge

bb_other:
br i1 %c1, label %cA, label %cB 
cA:
br label %merge
cB:
br label %merge

merge:
ret i32 42
}

```

https://github.com/llvm/llvm-project/pull/161181


More information about the llvm-commits mailing list