While merging blocks, `transformToStructuredCFBranches` may try to erase
blocks that still have uses. This may happen when the block has
self-loop or when it has 1 successor, but the successor has multiple
predecessors. This probably happens only with unreachable blocks in the
function.
Note that running a DCE pass before CF to SCF transform would remove the
triggering assert in the lit test.
Fixes#206086.