diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-05-09 13:40:49 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-05-09 13:40:49 +0000 |
commit | d3c7d45ed9c698740606c25fac9ba9d0e336d168 (patch) | |
tree | 8c07938788b37a64952f4c5e4a7153e4c84f3f8d /gcc/regclass.c | |
parent | d08d4a19e3fe1062a3fc6f3c3dd46d6ffb4e33a1 (diff) | |
download | gcc-d3c7d45ed9c698740606c25fac9ba9d0e336d168.zip gcc-d3c7d45ed9c698740606c25fac9ba9d0e336d168.tar.gz gcc-d3c7d45ed9c698740606c25fac9ba9d0e336d168.tar.bz2 |
regclass.c (scan_one_insn): Update REG_N_REFS when optimizing handling of two-address insns.
* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
handling of two-address insns.
From-SVN: r41925
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r-- | gcc/regclass.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c index 001015f..82d90fa 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -1058,11 +1058,16 @@ scan_one_insn (insn, pass) /* This makes one more setting of new insns's dest. */ REG_N_SETS (REGNO (recog_data.operand[0]))++; + REG_N_REFS (REGNO (recog_data.operand[0]))++; *recog_data.operand_loc[1] = recog_data.operand[0]; + REG_N_REFS (REGNO (recog_data.operand[0]))++; for (i = recog_data.n_dups - 1; i >= 0; i--) if (recog_data.dup_num[i] == 1) - *recog_data.dup_loc[i] = recog_data.operand[0]; + { + *recog_data.dup_loc[i] = recog_data.operand[0]; + REG_N_REFS (REGNO (recog_data.operand[0]))++; + } return PREV_INSN (newinsn); } |