aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2022-01-11 12:47:05 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2022-01-11 12:47:05 +0000
commita923fa6d3b0424cb0eb50de49877515e802c4cb0 (patch)
tree99bd25b3c00515e390a6c3e51b36aea6022d12f7 /gcc
parent0752c75536e92212ac71c4a44bbc7a18bd7e0315 (diff)
downloadgcc-a923fa6d3b0424cb0eb50de49877515e802c4cb0.zip
gcc-a923fa6d3b0424cb0eb50de49877515e802c4cb0.tar.gz
gcc-a923fa6d3b0424cb0eb50de49877515e802c4cb0.tar.bz2
ira: Fix s390 build
My g:01f3e6a40e7202310abbeb41c345d325bd69554f broke the s390 build because the rclass variable was still needed by the IRA_HARD_REGNO_ADD_COST_MULTIPLIER code. gcc/ * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ira-costs.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index cbb58d3..1e4cf5a 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -2351,10 +2351,13 @@ ira_tune_allocno_costs (void)
if (ira_need_caller_save_p (a, regno))
cost += ira_caller_save_cost (a);
#ifdef IRA_HARD_REGNO_ADD_COST_MULTIPLIER
- cost += ((ira_memory_move_cost[mode][rclass][0]
- + ira_memory_move_cost[mode][rclass][1])
- * ALLOCNO_FREQ (a)
- * IRA_HARD_REGNO_ADD_COST_MULTIPLIER (regno) / 2);
+ {
+ auto rclass = REGNO_REG_CLASS (regno);
+ cost += ((ira_memory_move_cost[mode][rclass][0]
+ + ira_memory_move_cost[mode][rclass][1])
+ * ALLOCNO_FREQ (a)
+ * IRA_HARD_REGNO_ADD_COST_MULTIPLIER (regno) / 2);
+ }
#endif
if (INT_MAX - cost < reg_costs[j])
reg_costs[j] = INT_MAX;