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
This commit is contained in:
Richard Henderson 2000-05-28 13:39:51 -07:00 committed by Richard Henderson
parent f83ed23817
commit 9ef07cf1d4
2 changed files with 5 additions and 0 deletions

View file

@ -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>

View file

@ -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;
}