On Fri, Jul 21, 2017 at 9:30 PM, Aldy Hernandez <al...@redhat.com> wrote:
> On Mon, Jul 17, 2017 at 6:23 AM, Richard Biener
> <richard.guent...@gmail.com> wrote:
>> On Mon, Jul 17, 2017 at 8:51 AM, Aldy Hernandez <al...@redhat.com> wrote:
>
>>> How does this look?
>>
>> It's a change that on its own doesn't look worthwhile to me.
>>
>> So please post the changes that will build ontop of this.  Like removing
>> anti-ranges from VRP or your on-demand value-range stuff.
>>
>> Thanks,
>> Richard.
>
> From the looks of it, we can have a variety of VRP ranges that are not
> representable at all with the an integer range class.  For instance, I
> see the following ranges built in set_value_range():
>
> [INT, (nop_expr SSA)]
>
> [INT, (plus_expr SSA INT)]
>
> [(negate_expr SSA), (negate_expr SSA)]
>
> [(plus_expr (negate_expr SSA INT)),
>  (plus_expr (negate_expr SSA) INT)]
>
> [SSA, SSA]
>
> So...I guess the first suggestion is out of the question ;-).

Well.  We do not want range operations implemented twice (really!)
so range operations need to work on both representations.  So we
should think of a way to get rid of anti-ranges in VRP which, frankly,
means that for the sake symbolic ranges we have to trade them
with handling open/closed ranges which I'm not sure will be less of
a hassle to handle?

Richard.

> Aldy

Reply via email to