On Fri, Jul 29, 2011 at 1:46 AM, Richard Guenther <rguent...@suse.de> wrote: > > I noticed that for binary expressions VRP contains the same bugs > that CCP once did (it treats UNDEFINED * 0 as UNDEFINED). Then > I noticed we never hit this bug because we never end up with > any range being UNDEFINED - which is bad, because this way we miss > value-ranges for all conditionally initialized variables. > > Thus, the following patch fixes this and conservatively handles > the binary expression case (which is only of academic interest > anyway - the important part is to handle UNDEFINED in PHIs). > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. > > Richard. > > 2011-07-29 Richard Guenther <rguent...@suse.de> > > * tree-vrp.c (get_value_range): Only set parameter default > definitions to varying, leave others at undefined. > (extract_range_from_binary_expr): Fix undefined handling. > (vrp_visit_phi_node): Handle merged undefined state. >
This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53465 -- H.J.