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

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The case where we want still do it on the back edge is something like:
```
int a;

int b;
int bar (int c) __attribute__((noipa, noinline));
int 
bar (int c)
{
  int *p = &a;
  for (int j = 0; j < *p; ++j)
  {
    //asm volatile(""::"r"(p));
    p = &b;
  }
  return *p;
}
```

But ch handles that so maybe just not doing it on back-edges are ok.
And then get the optimization back that we sometimes lost due to that we have
to rerun phiprop after ch. I think that will work.

Reply via email to