This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix constant libcalls
- From: Richard Henderson <rth at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, gcc-pdo at atrey dot karlin dot mff dot cuni dot cz
- Date: Fri, 21 Dec 2001 09:58:20 -0800
- Subject: Re: Fix constant libcalls
- References: <20011108205046.B5111@atrey.karlin.mff.cuni.cz> <20011108130340.C5515@redhat.com> <20011109124338.A20827@atrey.karlin.mff.cuni.cz> <20011109101258.C6186@redhat.com> <20011111011251.C28385@atrey.karlin.mff.cuni.cz> <20011220173043.C32024@redhat.com> <20011221170853.D5871@atrey.karlin.mff.cuni.cz>
On Fri, Dec 21, 2001 at 05:08:53PM +0100, Jan Hubicka wrote:
> I guess we don't as we are just stripping the flags. Given that
> we are after freeze, I guess it is better to just change it to
> > > + *ecf_flags &= ~(ECF_CONST | ECF_PURE | ECF_LIBCALL_BLOCK);
> OK?
Yes.
> > > + if (valreg == 0 || GET_CODE (valreg) == PARALLEL)
> > > + flags &= ~ECF_LIBCALL_BLOCK;
> > > +
> > [...]
> > > if (pass
> > > - && (flags & (ECF_CONST | ECF_PURE))
> > > + && (flags & ECF_LIBCALL_BLOCK)
> > > && valreg != 0 && GET_CODE (valreg) != PARALLEL)
> >
> > Looks to be some redundancy here?
> Hmm, pardon?
valreg == 0 || GET_CODE (valreg) == PARALLEL
is the reverse of
valreg != 0 && GET_CODE (valreg) != PARALLEL
and the former gates ECF_LIBCALL_BLOCK off, which means that the
later test can be simplified to
if (pass && (flags & ECF_LIBCALL_BLOCK))
correct?
r~