From 935149165b83d8d409584384729c059b34e20590 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Mon, 19 Dec 1994 17:53:11 -0800 Subject: (mark_set_1): For multi-reg hard register, clear all reg_next_use entries. From-SVN: r8670 --- gcc/flow.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'gcc') diff --git a/gcc/flow.c b/gcc/flow.c index e38aceb..c53ddd9 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -2019,9 +2019,6 @@ mark_set_1 (needed, dead, x, insn, significant) register rtx y = reg_next_use[regno]; register int blocknum = BLOCK_NUM (insn); - /* The next use is no longer "next", since a store intervenes. */ - reg_next_use[regno] = 0; - /* If this is a hard reg, record this function uses the reg. */ if (regno < FIRST_PSEUDO_REGISTER) @@ -2031,12 +2028,20 @@ mark_set_1 (needed, dead, x, insn, significant) for (i = regno; i < endregno; i++) { + /* The next use is no longer "next", since a store + intervenes. */ + reg_next_use[i] = 0; + regs_ever_live[i] = 1; reg_n_sets[i]++; } } else { + /* The next use is no longer "next", since a store + intervenes. */ + reg_next_use[regno] = 0; + /* Keep track of which basic blocks each reg appears in. */ if (reg_basic_block[regno] == REG_BLOCK_UNKNOWN) -- cgit v1.1