diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-28 13:39:51 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-28 13:39:51 -0700 |
commit | 9ef07cf1d4a446b445c4e97860172f51aebc951b (patch) | |
tree | 50180b05801197bfa9bc9a38cc835db1fcc811d2 /gcc | |
parent | f83ed23817917f05d042d01c005c8ac3aee40080 (diff) | |
download | gcc-9ef07cf1d4a446b445c4e97860172f51aebc951b.zip gcc-9ef07cf1d4a446b445c4e97860172f51aebc951b.tar.gz gcc-9ef07cf1d4a446b445c4e97860172f51aebc951b.tar.bz2 |
regclass.c (record_operand_costs): Protect reg_changes_size with CLASS_CANNOT_CHANGE_SIZE.
* regclass.c (record_operand_costs): Protect reg_changes_size
with CLASS_CANNOT_CHANGE_SIZE.
From-SVN: r34238
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/regclass.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c4e1797..ba57538 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2000-05-28 Richard Henderson <rth@cygnus.com> + * regclass.c (record_operand_costs): Protect reg_changes_size + with CLASS_CANNOT_CHANGE_SIZE. + * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn. 2000-05-28 Richard Henderson <rth@cygnus.com> diff --git a/gcc/regclass.c b/gcc/regclass.c index 6a741a6..3db64a2 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -859,9 +859,11 @@ record_operand_costs (insn, op_costs, reg_pref) if (GET_CODE (recog_data.operand[i]) == SUBREG) { rtx inner = SUBREG_REG (recog_data.operand[i]); +#ifdef CLASS_CANNOT_CHANGE_SIZE if (GET_MODE_SIZE (modes[i]) != GET_MODE_SIZE (GET_MODE (inner)) && GET_CODE (inner) == REG) SET_REGNO_REG_SET (reg_changes_size, REGNO (inner)); +#endif recog_data.operand[i] = inner; } |