diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-26 20:46:47 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-26 20:46:47 +0000 |
commit | 0bb5a6cd923298fb83e25763e4c1b7070c722064 (patch) | |
tree | 4c7f7fcade725078185a688569b6cd43d0e5d4b5 /gcc/emit-rtl.c | |
parent | df20515d40e3a676322e930880085ca37e7ab18a (diff) | |
download | gcc-0bb5a6cd923298fb83e25763e4c1b7070c722064.tar.gz |
* emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
instead of replacing it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68547 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3f444a92e02..908b12db8ca 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); } } |