------- Comment #19 from law at redhat dot com 2006-02-20 20:38 ------- Subject: Re: [4.2 regression] bootstrap failure on Alpha: xgcc runs out of memory compiling libiberty/md5.c
On Mon, 2006-02-20 at 20:35 +0000, pinskia at gcc dot gnu dot org wrote: > > ------- Comment #18 from pinskia at gcc dot gnu dot org 2006-02-20 20:34 > ------- > (In reply to comment #17) > > No, because if it's marked as varying we will not use it to > > refine any other VRP ranges. > > But this is an unsigned value which is varrying. [0, +INF] for an unsigned > value is varrying, I don't see why it would not be marked as such. I understand your point, but if you look at how the simplifications work in tree-vrp.c it's better to go ahead and give it an unsigned's range rather than VR_VARYING. Just like it's better to give an object the range [0, 1] if it's a boolean. It allows other simplifications that are not going to take place with VR_VARYING. While we could certain tweak all that code to look at the type's information, it's far easier to use assign the object a range. jeff -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26361