BB1: Conditional jump outside
Fallthrough or explicit branch to BB2
BB2: The same conditional branch leading to somewhere else outside
Fallthrough or explicit branch to BB3can be transformed to
BB1: Conditional jump outside
Fallthrough or explicit branch to BB2
BB2: Fallthrough or explicit branch to BB3
Instead of only 1 pred, you could check that all predecessors share the conditions?