From 74cca9d27da840dbb79aa9ed9edc6f529945d477 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Tue, 11 Jan 2022 08:44:56 +0000 Subject: [PATCH] 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. --- gcc/ira-costs.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index cbb58d32be8..1e4cf5a35e4 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; -- 2.25.1