[Bug middle-end/97656] Specify that there is no address arithmetic on a pointer
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Mon Nov 2 08:26:07 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97656
--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 2 Nov 2020, jakub at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97656
>
> Jakub Jelinek <jakub at gcc dot gnu.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |jakub at gcc dot gnu.org
>
> --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> (In reply to Richard Biener from comment #1)
> > Maybe use
> >
> > ". WT"
> >
> > for this? And the discussed 'a'...'z' for the "upper case" '1'...'9', both
> > to denote the range is exact? Note we discussed that we can this way
> > specify a must-def but here it's a may-def but with known offset. Guess
> > must vs. may would rather be another first letter like 'D'? (and only
> > 'direct' supported there obviously) And the upper case size specification
> > means
> > at zero offset?
>
> Well, at least in the above case it is not just 0 offset, but any access from
> the offset 0 (inclusive) to size of the type pointed by the argument
> (exclusive).
> E.g. if it is a structure, SRA must be surely be able to split it off and use
> MEM_REFs even with non-zero offsets.
Yes, we can only model the effect in the caller not constraints to the
actual IL in the callee.
More information about the Gcc-bugs
mailing list