[Bug tree-optimization/104639] [12 Regression] Useless loop not fully optimized anymore
aldyh at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 3 15:04:24 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104639
--- Comment #11 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Andrew Macleod from comment #10)
> 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.
I don't know. I thought return's were special. Can there be more than one per
function?
More information about the Gcc-bugs
mailing list