summaryrefslogtreecommitdiffstats
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-05-09 13:40:49 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2001-05-09 13:40:49 +0000
commitd95244df86628c2fafc30dd91fab48636e4a183e (patch)
tree8c07938788b37a64952f4c5e4a7153e4c84f3f8d /gcc/regclass.c
parent68a760821f693304ebdbfdc96d36563978df4316 (diff)
downloadppe42-gcc-d95244df86628c2fafc30dd91fab48636e4a183e.tar.gz
ppe42-gcc-d95244df86628c2fafc30dd91fab48636e4a183e.zip
* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
handling of two-address insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41925 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 001015f7c2e..82d90faa525 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);
}
OpenPOWER on IntegriCloud