A pass that eliminates branches on uninhabited enum variants.
Ensures that the
otherwisebranch leads to an unreachable bb, returning
Noneif so and a new bb to use as the new target if not.
If the basic block terminates by switching on a discriminant, this returns the
Tythe discriminant is read from. Otherwise, returns None.