From da2c9ff982aeb25e83e3380604d1b1b1402f0890 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 14 Feb 1994 19:16:58 -0500 Subject: [PATCH] (optimize_reg_copy): A register that dies in a CALL_INSN doesn't cross that call. From-SVN: r6555 --- gcc/local-alloc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 11e58e3..e52b035 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -1,5 +1,5 @@ /* Allocate registers within a basic block, for GNU compiler. - Copyright (C) 1987, 1988, 1991, 1993 Free Software Foundation, Inc. + Copyright (C) 1987, 1988, 1991, 1993, 1994 Free Software Foundation, Inc. This file is part of GNU CC. @@ -770,7 +770,9 @@ optimize_reg_copy_1 (insn, dest, src) if (dest_death) d_length++; - if (GET_CODE (q) == CALL_INSN) + /* If the insn in which SRC dies is a CALL_INSN, don't count it + as a call that has been crossed. Otherwise, count it. */ + if (q != p && GET_CODE (q) == CALL_INSN) { n_calls++; if (dest_death) -- 2.7.4