Once we have value numbering we just need phi nodes, that will allow us to correctly and simply handle situations where values are assigned in if statements or in loops.
There are few things to consider here:
a phi is itself a value, so we will need to run numbering again
we may need to insert blocks in between existing blocks for the phis to be correct, such as in nested branches
Once we have value numbering we just need phi nodes, that will allow us to correctly and simply handle situations where values are assigned in if statements or in loops.
There are few things to consider here: