This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix constant libcalls


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]