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]

Fwd: Re: [lra] Cleanup the use of offmemok and don't count spilling cost for it


gcc-patches has rejected the original message as it contained invalid MIME type. Therefore I am re-sending it.


-------- Forwarded Message --------
Subject: Re: [lra] Cleanup the use of offmemok and don't count spilling cost for it
Date: 	Mon, 4 Jul 2016 15:44:25 -0400
From: 	Vladimir Makarov <vmakarov@redhat.com>
To: 	Jiong Wang <jiong.wang@foss.arm.com>, gcc-patches@gcc.gnu.org
CC: Andreas Krebbel <krebbel@linux.vnet.ibm.com>, vogt@linux.vnet.ibm.com, Jeff Law <law@redhat.com>, Robin Dapp <rdapp@linux.vnet.ibm.com>



On 06/30/2016 01:22 PM, Jiong Wang wrote:

Here is the patch,

From my understanding, "offmemok" is used to represent a memory operand who's address we want to reload, and searching of it's reference location seems confirmed my understanding as it's always used together with MEM_P check. So this patch does the following modifications: * Only set offmemok to true if MEM_P is also true, as otherwise offmemok is not used. * Remove redundant MEM_P check which was used together with offmemok. * Avoid the addition of spilling cost if offmemok be true as an address calculation reload is not spilling. bootstrap & gcc/g++ regression OK on x86_64/aarch64/arm. OK for trunk?

Yes. The patch looks OK to me. Thank you for working on the solution, Jiong. As I wrote the code is very sensitive and any its change might affect some targets. Usually patches for this part of LRA can take a few iterations.


2016-06-30 Jiong Wang <jiong.wang@arm.com> gcc * lra-constraints.c (process_alt_operands): Only set "offmemok" for MEM_P. Remove redundant MEM_P check if it's used together with "offmemok" check. Don't add spilling cost for "offmemok". (curr_insn_transform): Remove redundant MEM_P check.





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