summaryrefslogtreecommitdiffstats
path: root/gcc/local-alloc.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1992-11-04 12:23:39 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1992-11-04 12:23:39 +0000
commit7145979c097231104e7fca6bb771af818530e93f (patch)
tree4f3784c723ba65488e98c6591b5a13fc63dcccc5 /gcc/local-alloc.c
parent39b070ebdb7bf1d3f78b4ba3f81ffb543eb4b9ce (diff)
downloadppe42-gcc-7145979c097231104e7fca6bb771af818530e93f.tar.gz
ppe42-gcc-7145979c097231104e7fca6bb771af818530e93f.zip
(optimize_reg_copy_1): If P is a CALL_INSN, count it as being crossed
by SRC since SRC used to die there. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2689 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r--gcc/local-alloc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index 830f89fd0aa..471bd0400da 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.
OpenPOWER on IntegriCloud