diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-11-04 07:23:39 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-11-04 07:23:39 -0500 |
commit | 6c84e1541c85835c6ab4b9ee8fb5c0573ddaac00 (patch) | |
tree | 4f3784c723ba65488e98c6591b5a13fc63dcccc5 | |
parent | 5145eda8f01658086322f1b52e6d9d3285c3744e (diff) | |
download | gcc-6c84e1541c85835c6ab4b9ee8fb5c0573ddaac00.zip gcc-6c84e1541c85835c6ab4b9ee8fb5c0573ddaac00.tar.gz gcc-6c84e1541c85835c6ab4b9ee8fb5c0573ddaac00.tar.bz2 |
(optimize_reg_copy_1): If P is a CALL_INSN, count it as being crossed
by SRC since SRC used to die there.
From-SVN: r2689
-rw-r--r-- | gcc/local-alloc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 830f89f..471bd04 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -697,6 +697,12 @@ optimize_reg_copy_1 (insn, dest, src) int n_calls = 0; int d_n_calls = 0; + /* If P is a CALL_INSN, SRC crosses one more call, since it + used to die there. */ + + if (GET_CODE (p) == CALL_INSN) + n_calls++; + /* We can do the optimization. Scan forward from INSN again, replacing regs as we go. Set FAILED if a replacement can't be done. In that case, we can't move the death note for SRC. |