https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99117

--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 16 Feb 2021, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99117
> 
> Jakub Jelinek <jakub at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>       Known to work|7.5.0, 8.4.0                |
>                  CC|                            |jakub at gcc dot gnu.org
> 
> --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> int* p = sum._M_data;
> int* e1 = sum._M_data;
> 
> If p and e1 aren't __restrict__ too, shouldn't that be fine?  Reading the same

But I think it's two different 'sum' in this case.  The actual flow
is quite hard to follow since as usual expression templates rely on
a lot of inlining and most restrict qualifiers only take effect when
on function parameters (there I see 'this' being restrict qualified
quite often).

> value multiple times shouldn't create new clique each time it is read.

It doesn't.  It uses points-to sets to assign cliques so unless the
PTA solution is wrong the clique assignment shouldn't.

> Though, isn't it before optimization a different argument instead?
> I'd think even that should be ok, because using __restrict__ from FIELD_DECLs
> is only ok if we can prove it is different structs (say pointers to them also
> being restrict), but the current aliasing code probably doesn't do that.

See above.

Reply via email to