diff options
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 16 |
1 files changed, 7 insertions, 9 deletions
@@ -436,11 +436,7 @@ life_analysis (f, file, flags) #ifdef CANNOT_CHANGE_MODE_CLASS if (flags & PROP_REG_INFO) - { - int j; - for (j=0; j < NUM_MACHINE_MODES; ++j) - INIT_REG_SET (&subregs_of_mode[j]); - } + bitmap_initialize (&subregs_of_mode, 1); #endif if (! optimize) @@ -3845,8 +3841,9 @@ mark_used_regs (pbi, x, cond, insn) #ifdef CANNOT_CHANGE_MODE_CLASS if (GET_CODE (SUBREG_REG (x)) == REG && REGNO (SUBREG_REG (x)) >= FIRST_PSEUDO_REGISTER) - SET_REGNO_REG_SET (&subregs_of_mode[GET_MODE (x)], - REGNO (SUBREG_REG (x))); + bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (x)) + * MAX_MACHINE_MODE + + GET_MODE (x)); #endif /* While we're here, optimize this case. */ @@ -3894,8 +3891,9 @@ mark_used_regs (pbi, x, cond, insn) if (GET_CODE (testreg) == SUBREG && GET_CODE (SUBREG_REG (testreg)) == REG && REGNO (SUBREG_REG (testreg)) >= FIRST_PSEUDO_REGISTER) - SET_REGNO_REG_SET (&subregs_of_mode[GET_MODE (testreg)], - REGNO (SUBREG_REG (testreg))); + bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (testreg)) + * MAX_MACHINE_MODE + + GET_MODE (testreg)); #endif /* Modifying a single register in an alternate mode |