diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-11 16:22:02 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-11 16:22:02 -0400 |
commit | e59e60a78f6e12dabf8b71a44465e9b91422ce3b (patch) | |
tree | 16f1fe7077f8a9223a2799cfa20ffb371b1d8b11 /gcc | |
parent | 1af0b2da29b668b1b763e54c9f37fc0f5425af8e (diff) | |
download | gcc-e59e60a78f6e12dabf8b71a44465e9b91422ce3b.zip gcc-e59e60a78f6e12dabf8b71a44465e9b91422ce3b.tar.gz gcc-e59e60a78f6e12dabf8b71a44465e9b91422ce3b.tar.bz2 |
(emit_call_1): Put new function usage data at end of any data already
there.
From-SVN: r7273
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/calls.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 4ca0483..99c8a60 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -408,8 +408,20 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg, if (! call_insn) abort (); - /* Put the register usage information on the CALL. */ - CALL_INSN_FUNCTION_USAGE (call_insn) = call_fusage; + /* Put the register usage information on the CALL. If there is already + some usage information, put ours at the end. */ + if (CALL_INSN_FUNCTION_USAGE (call_insn)) + { + rtx link; + + for (link = CALL_INSN_FUNCTION_USAGE (call_insn); XEXP (link, 1) != 0; + link = XEXP (link, 1)) + ; + + XEXP (link, 1) = call_fusage; + } + else + CALL_INSN_FUNCTION_USAGE (call_insn) = call_fusage; /* If this is a const call, then set the insn's unchanging bit. */ if (is_const) |