This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] ira: volatile asm's are not moveable (PR82602)
- From: Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Vladimir Makarov <vmakarov at redhat dot com>
- Date: Wed, 18 Oct 2017 11:10:48 +0000
- Subject: Re: [PATCH] ira: volatile asm's are not moveable (PR82602)
- Authentication-results: sourceware.org; auth=none
- Authentication-results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=hotmail.de;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi Segher,
the patch looks ok for me.
Just for my understanding:
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?
Bernd.