On 10/23/2017 11:40 AM, Richard Sandiford wrote:
> The xsize and ysize arguments to memrefs_conflict_p are encode such
> that:
> 
> - 0 means the size is unknown
> - >0 means the size is known
> - <0 means that the negative of the size is a worst-case size after
>   alignment
> 
> In other words, the sign effectively encodes a boolean; it isn't
> meant to be taken literally.  With poly_ints these correspond to:
> 
> - known_zero (...)
> - may_gt (..., 0)
> - may_lt (..., 0)
> 
> respectively.
> 
> 
> 2017-10-23  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/
>       * alias.c (addr_side_effect_eval): Take the size as a poly_int64
>       rather than an int.  Use plus_constant.
>       (memrefs_conflict_p): Take the sizes as poly_int64s rather than ints.
>       Take the offset "c" as a poly_int64 rather than a HOST_WIDE_INT.
> 
Not sure why I was dreading this one and kept putting it off.  It really
wasn't too bad to work through.

OK.
jeff

Reply via email to