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

--- Comment #10 from Andrew Macleod <amacleod at redhat dot com> ---
I was thinking less about phis and more that its a "return" instead of an "if"
ending the block preventing the threader from doing anything.

  _3 = i_6 != 0;
  return _3;

Ie, so if a return uses a condition, we could act like its a branch.. if that
were viewed as
  if (_3)
    return 1
  else
    return 0
the threader would do what we are looking for?

I don't know if that would be easy or hard or even worthwhile, but I seem to
vaguely recall another situation a few months ago that was similar... with a
block that ended in a return not triggering threads thru a PHI in the block
that could have been helpful.

Reply via email to