[PATCH] fwprop: Fix single_use_p calculation

Ilya Leoshkevich iii@linux.ibm.com
Mon Mar 22 23:15:49 GMT 2021


On Mon, 2021-03-22 at 22:55 +0000, Richard Sandiford wrote:
> Ilya Leoshkevich <iii@linux.ibm.com> writes:
> > On Mon, 2021-03-22 at 18:23 +0000, Richard Sandiford wrote:
> > > Ilya Leoshkevich <iii@linux.ibm.com> writes:
> > 
> > [...]
> > 
> > > > Do you still want me to add single_nondebug_use() for
> > > > completeness
> > > > in
> > > > this patch, or would it be better to add it later when it's
> > > > actually
> > > > needed?
> > > 
> > > I was thinking that the fwprop.c code would use
> > > def->single_nondebug_use () instead of
> > > def->single_nondebug_insn_use () && !def->has_phi_uses ().
> > 
> > But these two are not equivalent, are they?  single_nondebug_use()
> > that you proposed explicitly allows phis:
> > 
> >   // If there is exactly one nondebug use of the set's result,
> >   // return that use, otherwise return null.  The use might be in
> >   // instruction or a phi node.
> >   use_info *single_nondebug_use () const;
> > 
> > but I don't think we want to propagate into phis here.
> > Or should the check be a bit bigger, like the following?
> 
> But we're in the process of substituting the definition into an
> insn use.  So we know that an insn use exists.  I think the
> question we're trying to answer is: is this insn use the only
> nondebug use?  I'd rather test that with a single accessor rather
> than break it down into individual data structure tests.

Ah, you are absolutely right - now I get it.  Please ignore the v2
then, I will send a v3.



More information about the Gcc-patches mailing list