[RFA][PR tree-optimization/79095] [PATCH 1/4] Improve ranges for MINUS_EXPR and EXACT_DIV_EXPR V2

Marc Glisse marc.glisse@inria.fr
Sun Feb 12 08:08:00 GMT 2017


On Tue, 7 Feb 2017, Jeff Law wrote:

> * tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
> if the numerator has the range ~[0,0] make the resultant range ~[0,0].

If I understand correctly, for x /[ex] 4 with x!=0, we currently split 
~[0,0] into [INT_MIN,-1] and [1,INT_MAX], then apply EXACT_DIV_EXPR which 
gives [INT_MIN/4,-1] and [1,INT_MAX/4], and finally compute the union of 
those, which prefers [INT_MIN/4,INT_MAX/4] over ~[0,0]. We could change 
the union function, but this patch prefers changing the code elsewhere so 
that the new behavior is restricted to the EXACT_DIV_EXPR case (and 
supposedly the patch will be reverted if we get a new non-contiguous 
version of ranges, where union would already work). Is that it?

-- 
Marc Glisse



More information about the Gcc-patches mailing list