The finally emission block tries to be clever by removing unused continuation edges if there's an unconditional jump out of the finally block. With exception edges, the EH continuation edge isn't always unused though and we'd crash in a few places.
Just don't be clever. That makes the IR for __finally blocks a bit longer in some cases (hence small and behavior-preserving changes to existing tests), but it makes no difference in general and it fixes the last crash from PR22553.
Can we check !HaveInsertPoint() && FI.ContBB->hasZeroUses() instead and still be clever?