On Mon, 22 Oct 2012, Michael Matz wrote: > Hi, > > On Mon, 22 Oct 2012, Richard Biener wrote: > > > > > This fixes PR55011, it seems nothing checks for invalid lattice > > transitions in VRP, > > That makes sense, because the individual parts of VRP that produce new > ranges are supposed to not generate invalid transitions. So if anything > such checking should be an assert and the causes be fixed.
No, the checking should be done in update_value_range which copies the new VR over to the lattice. The job of that function is also to detect lattice changes. > > so the following adds that > > It's a work around ... No. > > since we now can produce a lot more UNDEFINED than before > > ... for this. We should never "produce" UNDEFINED when the input wasn't > UNDEFINED already. Why? We shouldn't update the lattice this way, yes, but that is what the patch ensures. The workers only compute a new value-range for a stmt based on input value ranges. > > not doing so triggers issues. > > Hmm? It oscillates and thus never finishes. Richard.