[Bug tree-optimization/64541] FRE pass optimization failure

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Wed Jan 14 12:00:00 GMT 2015


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

--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> ---
On Wed, 14 Jan 2015, skvadrik at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64541
> 
> --- Comment #2 from Ulya <skvadrik at gmail dot com> ---
> > we have to assume that p == q and thus the store to *q invalidates the previously load *p
> 
> I see.
> It seemed to me from GIMPLE dumps that both cases are equally easy to optimize,
> perhaps I'm missing something.

1:

  _6 = *p_2(D);
  *q_7(D) = _6;
  _9 = *q_7(D);
  _10 = *_9;

it's easy to see that the load _9 = *q_7(D) results in _6.

2:

  *p_2(D) = _4;
  _6 = *p_2(D);
  *q_7(D) = _6;
  _9 = *p_2(D);
  _10 = *_9;

not so much here for the load _9 = *p_2(D) as I explained
(the store *q_7(D) = _6 aliases it)



More information about the Gcc-bugs mailing list