[Bug middle-end/126887] backward threader cannot peel a single-iteration loop that the DOM threader peels

"rguenth at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126887

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
gcc.dg/uninit-1.c (bogus warning at any -O)

is not fixed.  Here DOM seems to (late) peel the first outer loop iteration,
another peeling shape we do not allow.

  for (p = el; p; p = p->next)
  {
    for (q = el; q != p; q = q->next)
  ...
    r = p;
  }

the inner loop guard q != p is trivially false, so r is initialized always.
Also uninit-1.c runs with -O1 where ranger based threading seems not to run
at all.

IIRC I tried to enable such theadings but had to revert
(r16-303-g1a13684dfc7286)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.