diff options
author | Richard Stallman <rms@gnu.org> | 1993-04-07 22:13:16 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-04-07 22:13:16 +0000 |
commit | 8244fc4f48759523b1eb9d4b5ef9d75f5ec1418d (patch) | |
tree | 099e22b7c7e6b8a3085e78ba19fca612f1b04548 /gcc | |
parent | 84ab931b38ea576576927b27e9b56be80dcfb486 (diff) | |
download | gcc-8244fc4f48759523b1eb9d4b5ef9d75f5ec1418d.zip gcc-8244fc4f48759523b1eb9d4b5ef9d75f5ec1418d.tar.gz gcc-8244fc4f48759523b1eb9d4b5ef9d75f5ec1418d.tar.bz2 |
(mark_set_1): Clear reg_next_use for all kinds of regs.
From-SVN: r4041
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/flow.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1795,6 +1795,9 @@ mark_set_1 (needed, dead, x, insn, significant) /* Mark it as as dead before this insn. */ dead[offset] |= bit; + /* The next use is no longer "next", since a store intervenes. */ + reg_next_use[regno] = 0; + /* A hard reg in a wide mode may really be multiple registers. If so, mark all of them just like the first. */ if (regno < FIRST_PSEUDO_REGISTER) @@ -1863,9 +1866,6 @@ mark_set_1 (needed, dead, x, insn, significant) reg_live_length[regno]++; } - /* The next use is no longer "next", since a store intervenes. */ - reg_next_use[regno] = 0; - if (all_needed) { /* Make a logical link from the next following insn @@ -1915,6 +1915,8 @@ mark_set_1 (needed, dead, x, insn, significant) } } } + else if (GET_CODE (reg) == REG) + reg_next_use[regno] = 0; /* If this is the last pass and this is a SCRATCH, show it will be dying here and count it. */ |