Hi,

On Fri, 11 Feb 2011, Paulo J. Matos wrote:

> On 11/02/11 12:03, Eric Botcazou wrote:
> > >       if (! volatile_ok&&  MEM_VOLATILE_P (op))
> > >           return 0;
> >.
> >
> > It's more of the other way around: MEM_VOLATILE_P is a general operand
> > unless
> > explicitly requested via init_recog_no_volatile.  Some passes, like combine,
> > don't track the volatileness of operands precisely, so they disable their
> > manipulation altogether to avoid generating wrong code.
> >
> 
> But the piece of code I quoted above is in general_regs. A (mem/v ...) will
> never be a general_operand, will it?

The piece of code you quoted also is conditional on volatile_ok.  Connect 
that with what Eric said.


Ciao,
Michael.

Reply via email to