Fix constant libcalls
Richard Henderson
rth@redhat.com
Fri Dec 21 10:06:00 GMT 2001
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~
More information about the Gcc-patches
mailing list