After ProcessBlock, we might generate an unreachable loop, In this case,getValueFromCondition() uses a Visited set to record the intermediate value.
we need to set the argument KeepOneInputPHIs to be true when DeleteDeadBlocks.However, it uses a postorder way to compute the value first and update the
Otherwise we might generateVisited set later. Thus it will be trapped into an infinite recursion if there
exists invalid IRs that use not dominated by its dominated by its def as in this example:
"%tmp3 = or i1 undef, %tmp4"
"%tmp4 = or i1 undef, %tmp3"
To prevent this, we can insert an Overdefined placeholder into the set
before computing the actual value.
def in a self-loop.