[100/nnn] poly_int: memrefs_conflict_p
Jeff Law
law@redhat.com
Tue Dec 5 23:29:00 GMT 2017
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.sandiford@linaro.org>
> Alan Hayward <alan.hayward@arm.com>
> David Sherwood <david.sherwood@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
More information about the Gcc-patches
mailing list