aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2016-07-05 16:05:27 +0000
committerJiong Wang <jiong.wang@arm.com>2016-07-05 16:05:27 +0000
commite8bc789145d50333a043ce5cf06e10ca6c56ead8 (patch)
treea631f6bd21815559f13d260de744910b7f76acba
parent467629c2306fd7ccd9134db5360fc5b2e37a5b53 (diff)
[LRA] Don't count spilling cost for it offmemok
* lra-constraints.c (process_alt_operands): Don't add spilling cost for "offmemok". git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238010 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lra-constraints.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5e466b7cd7d..de92a3efb8e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-07-05 Jiong Wang <jiong.wang@arm.com>
+
+ * lra-constraints.c (process_alt_operands): Don't add spilling cost for
+ "offmemok".
+
2016-07-05 Jan Hubicka <jh@suse.cz>
* tree-scalar-evoluiton.c (simple_iv): Use nowrap_type to check if
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index bf08dce2e0a..e9d3e43eace 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -2488,7 +2488,9 @@ process_alt_operands (int only_alternative)
Code below increases the reject for both pseudo and non-pseudo
spill. */
- if (no_regs_p && !(REG_P (op) && hard_regno[nop] < 0))
+ if (no_regs_p
+ && !(MEM_P (op) && offmemok)
+ && !(REG_P (op) && hard_regno[nop] < 0))
{
if (lra_dump_file != NULL)
fprintf