diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2022-01-11 12:47:05 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2022-01-11 12:47:05 +0000 |
commit | a923fa6d3b0424cb0eb50de49877515e802c4cb0 (patch) | |
tree | 99bd25b3c00515e390a6c3e51b36aea6022d12f7 /gcc | |
parent | 0752c75536e92212ac71c4a44bbc7a18bd7e0315 (diff) | |
download | gcc-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.c | 11 |
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; |