Re: Avoid generating useless range info

2017-06-29 Thread Richard Biener
On Wed, Jun 28, 2017 at 9:56 AM, Aldy Hernandez wrote: > > > On 06/27/2017 06:38 AM, Jakub Jelinek wrote: >> >> On Tue, Jun 27, 2017 at 06:26:46AM -0400, Aldy Hernandez wrote: >>> >>> How about this? >> >> >> @@ -360,6 +363,22 @@ set_range_info (tree name, enum value_range_type >> range_type, >>

Re: Avoid generating useless range info

2017-06-28 Thread Aldy Hernandez
On 06/27/2017 06:38 AM, Jakub Jelinek wrote: On Tue, Jun 27, 2017 at 06:26:46AM -0400, Aldy Hernandez wrote: How about this? @@ -360,6 +363,22 @@ set_range_info (tree name, enum value_range_type range_type, } } +/* Store range information RANGE_TYPE, MIN, and MAX to tree ssa_name

Re: Avoid generating useless range info

2017-06-27 Thread Jakub Jelinek
On Tue, Jun 27, 2017 at 06:26:46AM -0400, Aldy Hernandez wrote: > How about this? @@ -360,6 +363,22 @@ set_range_info (tree name, enum value_range_type range_type, } } +/* Store range information RANGE_TYPE, MIN, and MAX to tree ssa_name + NAME while making sure we don't store useless r

Re: Avoid generating useless range info

2017-06-27 Thread Aldy Hernandez
On Fri, Jun 23, 2017 at 6:24 AM, Richard Biener wrote: > On Fri, Jun 23, 2017 at 10:59 AM, Aldy Hernandez wrote: >> >> >> On Fri, Jun 16, 2017 at 4:00 AM, Richard Biener >> wrote: >>> >>> On Wed, Jun 14, 2017 at 6:41 PM, Aldy Hernandez wrote: >>> > Hi! >>> > >>> > As discovered in my range clas

Re: Avoid generating useless range info

2017-06-23 Thread Richard Biener
On Fri, Jun 23, 2017 at 12:32 PM, Jakub Jelinek wrote: > On Fri, Jun 23, 2017 at 12:24:25PM +0200, Richard Biener wrote: >> > void >> > set_nonzero_bits (tree name, const wide_int_ref &mask) >> > { >> > gcc_assert (!POINTER_TYPE_P (TREE_TYPE (name))); >> > if (SSA_NAME_RANGE_INFO (name) == NUL

Re: Avoid generating useless range info

2017-06-23 Thread Jakub Jelinek
On Fri, Jun 23, 2017 at 12:24:25PM +0200, Richard Biener wrote: > > void > > set_nonzero_bits (tree name, const wide_int_ref &mask) > > { > > gcc_assert (!POINTER_TYPE_P (TREE_TYPE (name))); > > if (SSA_NAME_RANGE_INFO (name) == NULL) > > set_range_info (name, VR_RANGE, > >TYPE_MIN_VALU

Re: Avoid generating useless range info

2017-06-23 Thread Richard Biener
On Fri, Jun 23, 2017 at 10:59 AM, Aldy Hernandez wrote: > > > On Fri, Jun 16, 2017 at 4:00 AM, Richard Biener > wrote: >> >> On Wed, Jun 14, 2017 at 6:41 PM, Aldy Hernandez wrote: >> > Hi! >> > >> > As discovered in my range class work, we seem to generate a significant >> > amount of useless ra

Re: Avoid generating useless range info

2017-06-23 Thread Aldy Hernandez
[one more time, but without sending html which the list refuses :-/] On Fri, Jun 16, 2017 at 4:00 AM, Richard Biener wrote: > On Wed, Jun 14, 2017 at 6:41 PM, Aldy Hernandez wrote: >> Hi! >> >> As discovered in my range class work, we seem to generate a significant >> amount of useless range inf

Re: Avoid generating useless range info

2017-06-16 Thread Richard Biener
On Wed, Jun 14, 2017 at 6:41 PM, Aldy Hernandez wrote: > Hi! > > As discovered in my range class work, we seem to generate a significant > amount of useless range info out of VRP. > > Is there any reason why we can't avoid generating any range info that spans > the entire domain, and yet contains

Avoid generating useless range info

2017-06-14 Thread Aldy Hernandez
Hi! As discovered in my range class work, we seem to generate a significant amount of useless range info out of VRP. Is there any reason why we can't avoid generating any range info that spans the entire domain, and yet contains nothing in the non-zero bitmask? The attached patch passes boo