From d7e09326f25d83fde3215698ff2520e29c0828dd Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 6 May 1994 17:53:31 -0400 Subject: [PATCH] (save_for_inline_copying, expand_inline_function): Copy CALL_INSN_FUNCTION_USAGE field. From-SVN: r7248 --- gcc/integrate.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/integrate.c b/gcc/integrate.c index eb3135762bb..e0b6f7a4d01 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -548,12 +548,17 @@ save_for_inline_copying (fndecl) break; case INSN: - case CALL_INSN: case JUMP_INSN: + case CALL_INSN: copy = rtx_alloc (GET_CODE (insn)); + + if (GET_CODE (insn) == CALL_INSN) + CALL_INSN_FUNCTION_USAGE (copy) = + copy_for_inline (CALL_INSN_FUNCTION_USAGE (insn)); + PATTERN (copy) = copy_for_inline (PATTERN (insn)); INSN_CODE (copy) = -1; - LOG_LINKS (copy) = NULL; + LOG_LINKS (copy) = NULL_RTX; RTX_INTEGRATED_P (copy) = RTX_INTEGRATED_P (insn); break; @@ -1758,6 +1763,11 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add pattern = copy_rtx_and_substitute (PATTERN (insn), map); copy = emit_call_insn (pattern); + /* Because the USAGE information potentially contains objects other + than hard registers, we need to copy it. */ + CALL_INSN_FUNCTION_USAGE (copy) = + copy_rtx_and_substitute (CALL_INSN_FUNCTION_USAGE (insn), map); + #ifdef HAVE_cc0 if (cc0_insn) try_constants (cc0_insn, map); -- 2.30.2