From f6a1f3f6caf8c89ce689b2cc3882edddfee9ea3a Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 26 Jun 2003 13:46:47 -0700 Subject: [PATCH] emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE instead of replacing it. * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE instead of replacing it. From-SVN: r68547 --- gcc/ChangeLog | 5 +++++ gcc/emit-rtl.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31b981517112..8c89ca038422 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-26 Richard Henderson + + * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE + instead of replacing it. + 2003-06-26 Richard Henderson * flow.c (propagate_one_insn): Kill function return value diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3f444a92e02e..908b12db8ca1 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3510,8 +3510,10 @@ try_split (pat, trial, last) for (insn = insn_last; insn ; insn = PREV_INSN (insn)) if (GET_CODE (insn) == CALL_INSN) { - CALL_INSN_FUNCTION_USAGE (insn) - = CALL_INSN_FUNCTION_USAGE (trial); + rtx *p = &CALL_INSN_FUNCTION_USAGE (insn); + while (*p) + p = &XEXP (*p, 1); + *p = CALL_INSN_FUNCTION_USAGE (trial); SIBLING_CALL_P (insn) = SIBLING_CALL_P (trial); } } -- 2.47.3