diff options
Diffstat (limited to 'gcc/ira-conflicts.c')
-rw-r--r-- | gcc/ira-conflicts.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index 3df65709f6f..225a3ab17f2 100644 --- a/gcc/ira-conflicts.c +++ b/gcc/ira-conflicts.c @@ -845,6 +845,7 @@ ira_debug_conflicts (bool reg_p) void ira_build_conflicts (void) { + enum reg_class base; ira_allocno_t a; ira_allocno_iterator ai; HARD_REG_SET temp_hard_reg_set; @@ -874,13 +875,12 @@ ira_build_conflicts (void) ira_free (conflicts); } } - if (! targetm.class_likely_spilled_p (base_reg_class (VOIDmode, ADDRESS, - SCRATCH))) + base = base_reg_class (VOIDmode, ADDR_SPACE_GENERIC, ADDRESS, SCRATCH); + if (! targetm.class_likely_spilled_p (base)) CLEAR_HARD_REG_SET (temp_hard_reg_set); else { - COPY_HARD_REG_SET (temp_hard_reg_set, - reg_class_contents[base_reg_class (VOIDmode, ADDRESS, SCRATCH)]); + COPY_HARD_REG_SET (temp_hard_reg_set, reg_class_contents[base]); AND_COMPL_HARD_REG_SET (temp_hard_reg_set, ira_no_alloc_regs); AND_HARD_REG_SET (temp_hard_reg_set, call_used_reg_set); } |