[IR] Add a function to update all PHI nodes within the block to change incoming values from IncomingOld to IncomingNew if IncomingOld is no longer a valid predecessor, or add new incoming edges in PHI nodes with IncomingNew otherwise.
The rationale behind this function is the amount of PHI node updates in my IR-based implementation of Jump Maps.
I've added a few unit tests for the function.
I'm not sure this loop is necessary.
If this funciton is how to update phi edges, you should guarantee an input state.
IE either pred edges removed or not removed.