https://github.com/ruiling approved this pull request. The old code is indeed confusing if the block has multiple predecessors. I think this is good to go? https://github.com/llvm/llvm-project/pull/115476