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.