diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-28 10:11:47 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-28 10:11:47 +0000 |
commit | c3988e3beb5f2c60564c959918af009f2338d308 (patch) | |
tree | 90126b3c24f149851de417e946284822a2bf0b58 /gcc/flow.c | |
parent | 02cddcf4e59ff3710039490299eabb2c81a5a2b9 (diff) | |
download | gcc-c3988e3beb5f2c60564c959918af009f2338d308.tar.gz |
* combine.c (gen_lowpart_for_combine): Update handling of
subregs_of_mode
* flow.c (life_analysis, mark_used_regs): Likewise.
* regclass.c (subregs_of_mode): Turn into single bitmap.
(cannot_change-mode_set_regs, invalid_mode_change_p): Update
dealing with subregs_of_mode
* regs.h (subregs_of_mode): Update prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63552 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/flow.c b/gcc/flow.c index 24f869153c0..fb60610a7a8 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -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 |