[PATCH] ira: volatile asm's are not moveable (PR82602)
Segher Boessenkool
segher@kernel.crashing.org
Wed Oct 18 11:35:00 GMT 2017
On Wed, Oct 18, 2017 at 11:10:48AM +0000, Bernd Edlinger wrote:
> A memory clobber would also make rtx_moveable_p return false,
> thru the following case:
>
> case MEM:
> if (type == OP_IN && MEM_READONLY_P (x))
> return rtx_moveable_p (&XEXP (x, 0), OP_IN);
> return false;
>
> ...
>
> case CLOBBER:
> return rtx_moveable_p (&SET_DEST (x), OP_OUT);
>
>
> because that memory clobber is in a parallel statement
> together with the ASM_OUTPUT.
>
> Right?
Yes, that looks correct. And a memory clobber of course _should_ make
the insn non-moveable as well -- it's an unknown side effect all by
itself :-)
Segher
More information about the Gcc-patches
mailing list