On Thu, Feb 18, 2021 at 11:12:26AM +0100, Richard Biener via Gcc-patches wrote:
> On Thu, Feb 18, 2021 at 12:35 AM Hans-Peter Nilsson via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> > If we're not going to eliminate the clz, it's better for the
> > comparison to use that result than its input, so we don't
> > extend the lifetime of the input.  Also, an additional use
> > of the result is more likely cheaper than a compare of the
> > input, in particular considering that the clz may have made
> > available a non-zero condition matching the original use.
> 
> Of course the non-zero compare can execute concurrently
> with the clz if we use the input which can result in faster
> operation.  It's one of the many cases where local folding
> doesn't tell us enough.  One of the usual issues with
> single_use checks is that the IL is not fully DCEd while
> we fold it and thus dead uses can make sth !single_use
> even though it really is single_use.

And on the other side, the IL might not be fully CSEd yet and
so we can see single use, but after SCCVN it wouldn't be single use.

        Jakub

Reply via email to