------- Additional Comments From dnovillo at redhat dot com 2005-04-24 18:07 ------- Subject: Re: Generates unneeded test
On Sun, Apr 24, 2005 at 05:56:50PM -0000, pinskia at gcc dot gnu dot org wrote: > > i_15: [1, 2147483647] > i_16: [0, 2147483647] > i_20: VARYING > > # i_20 = PHI <i_15(3), 0(0)>; > > > Looks like VRP does not understand PHI functions or it just gives up too > often. > i_15 and 0 have a non-empty intersection and so vrp_meet returns VARYING. VRP does not handle multiple ranges, but in this case it should not be hard to merge the two adjacent ranges [1, +INF] and [0, 0]. What is the type of 'i'? If it's unsigned, then we would be wasting our time. Diego. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8681