diff options
author | Richard Henderson <rth@redhat.com> | 2003-06-26 13:46:47 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-06-26 13:46:47 -0700 |
commit | f6a1f3f6caf8c89ce689b2cc3882edddfee9ea3a (patch) | |
tree | 4c7f7fcade725078185a688569b6cd43d0e5d4b5 | |
parent | 99af0d26bd5e46ec40030ff2d3c68029d7129aa9 (diff) | |
download | gcc-f6a1f3f6caf8c89ce689b2cc3882edddfee9ea3a.zip gcc-f6a1f3f6caf8c89ce689b2cc3882edddfee9ea3a.tar.gz gcc-f6a1f3f6caf8c89ce689b2cc3882edddfee9ea3a.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31b9815..8c89ca0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ 2003-06-26 Richard Henderson <rth@redhat.com> + + * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE + instead of replacing it. + +2003-06-26 Richard Henderson <rth@redhat.com> * flow.c (propagate_one_insn): Kill function return value registers across tail calls. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3f444a9..908b12d 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); } } |