diff options
Diffstat (limited to 'gcc/reginfo.c')
| -rw-r--r-- | gcc/reginfo.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/reginfo.c b/gcc/reginfo.c index 970cbb6..6f699eb 100644 --- a/gcc/reginfo.c +++ b/gcc/reginfo.c @@ -473,7 +473,7 @@ init_reg_sets_1 (void) CLEAR_HARD_REG_SET (ok_regs2); for (j = 0; j < FIRST_PSEUDO_REGISTER; j++) if (!TEST_HARD_REG_BIT (fixed_nonglobal_reg_set, j) - && HARD_REGNO_MODE_OK (j, (machine_mode) m)) + && targetm.hard_regno_mode_ok (j, (machine_mode) m)) { SET_HARD_REG_BIT (ok_regs, j); if (!fixed_regs[j]) @@ -634,7 +634,7 @@ choose_hard_reg_mode (unsigned int regno ATTRIBUTE_UNUSED, FOR_EACH_MODE_IN_CLASS (mode, MODE_INT) if ((unsigned) hard_regno_nregs[regno][mode] == nregs - && HARD_REGNO_MODE_OK (regno, mode) + && targetm.hard_regno_mode_ok (regno, mode) && (!call_saved || !targetm.hard_regno_call_part_clobbered (regno, mode)) && GET_MODE_SIZE (mode) > GET_MODE_SIZE (found_mode)) @@ -642,7 +642,7 @@ choose_hard_reg_mode (unsigned int regno ATTRIBUTE_UNUSED, FOR_EACH_MODE_IN_CLASS (mode, MODE_FLOAT) if ((unsigned) hard_regno_nregs[regno][mode] == nregs - && HARD_REGNO_MODE_OK (regno, mode) + && targetm.hard_regno_mode_ok (regno, mode) && (!call_saved || !targetm.hard_regno_call_part_clobbered (regno, mode)) && GET_MODE_SIZE (mode) > GET_MODE_SIZE (found_mode)) @@ -650,7 +650,7 @@ choose_hard_reg_mode (unsigned int regno ATTRIBUTE_UNUSED, FOR_EACH_MODE_IN_CLASS (mode, MODE_VECTOR_FLOAT) if ((unsigned) hard_regno_nregs[regno][mode] == nregs - && HARD_REGNO_MODE_OK (regno, mode) + && targetm.hard_regno_mode_ok (regno, mode) && (!call_saved || !targetm.hard_regno_call_part_clobbered (regno, mode)) && GET_MODE_SIZE (mode) > GET_MODE_SIZE (found_mode)) @@ -658,7 +658,7 @@ choose_hard_reg_mode (unsigned int regno ATTRIBUTE_UNUSED, FOR_EACH_MODE_IN_CLASS (mode, MODE_VECTOR_INT) if ((unsigned) hard_regno_nregs[regno][mode] == nregs - && HARD_REGNO_MODE_OK (regno, mode) + && targetm.hard_regno_mode_ok (regno, mode) && (!call_saved || !targetm.hard_regno_call_part_clobbered (regno, mode)) && GET_MODE_SIZE (mode) > GET_MODE_SIZE (found_mode)) @@ -672,7 +672,7 @@ choose_hard_reg_mode (unsigned int regno ATTRIBUTE_UNUSED, { mode = (machine_mode) m; if ((unsigned) hard_regno_nregs[regno][mode] == nregs - && HARD_REGNO_MODE_OK (regno, mode) + && targetm.hard_regno_mode_ok (regno, mode) && (!call_saved || !targetm.hard_regno_call_part_clobbered (regno, mode))) return mode; @@ -1238,7 +1238,7 @@ simplifiable_subregs (const subreg_shape &shape) { simplifiable_subreg *info = new simplifiable_subreg (shape); for (unsigned int i = 0; i < FIRST_PSEUDO_REGISTER; ++i) - if (HARD_REGNO_MODE_OK (i, shape.inner_mode) + if (targetm.hard_regno_mode_ok (i, shape.inner_mode) && simplify_subreg_regno (i, shape.inner_mode, shape.offset, shape.outer_mode) >= 0) SET_HARD_REG_BIT (info->simplifiable_regs, i); |
