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

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The other thing to note is SRA is doing something wrong after the call to
thashx4.part.0.constprop.

```
  MEM <uint128_t> [(char * {ref-all})&ctx] = _2;
  thashx4.part.0.constprop (sg_7(D), sg_7(D), sg_7(D), sg_7(D),
&ctx.pub_seed[0]);
...
  _25 = MEM <uint128_t> [(char * {ref-all})&ctx];
```

SRA does not reload ctx after thashx4.part.0.constprop either:
```
  _2 = MEM <uint128_t> [(char * {ref-all})sk_5(D)];
  ctx_14 = _2;
  MEM[(struct  *)&ctx] = ctx_14;
  thashx4.part.0.constprop (sg_7(D), sg_7(D), sg_7(D), sg_7(D),
&ctx.pub_seed[0]);

...
  _25 = ctx_14;

```

I think this is due to modref saying that won't store to the aliasing sets of
ctx.

Reply via email to