diff options
| author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-04 21:44:41 +0000 |
|---|---|---|
| committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-04 21:44:41 +0000 |
| commit | 6bf33fa9eee8f22cdc3a8b2cdca52d848b7dad9b (patch) | |
| tree | 80230eaf8180e7da392b456e733302e1bce34852 | |
| parent | 98ccd331a1b7d8a9bc36f44cb796e8069d510f86 (diff) | |
| download | ppe42-gcc-6bf33fa9eee8f22cdc3a8b2cdca52d848b7dad9b.tar.gz ppe42-gcc-6bf33fa9eee8f22cdc3a8b2cdca52d848b7dad9b.zip | |
* cse.c (cse_insn): Correct usage of simplify_replace_rtx when
updating the REG_EQUAL note on an insn's libcall_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80400 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cse.c | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index acf8454abf1..fcfbfdccee9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2004-04-04 Roger Sayle <roger@eyesopen.com> + * cse.c (cse_insn): Correct usage of simplify_replace_rtx when + updating the REG_EQUAL note on an insn's libcall_insn. + +2004-04-04 Roger Sayle <roger@eyesopen.com> + * df.h: Tidy up whitespace in the definitions of the DF_ flags. 2004-04-03 Roger Sayle <roger@eyesopen.com> diff --git a/gcc/cse.c b/gcc/cse.c index 38f6ef06004..0a7281ecc42 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -5402,8 +5402,13 @@ cse_insn (rtx insn, rtx libcall_insn) && (GET_CODE (sets[i].orig_src) == REG || GET_CODE (sets[i].orig_src) == SUBREG || GET_CODE (sets[i].orig_src) == MEM)) - simplify_replace_rtx (REG_NOTES (libcall_insn), - sets[i].orig_src, copy_rtx (new)); + { + rtx note = find_reg_equal_equiv_note (libcall_insn); + if (note != 0) + XEXP (note, 0) = simplify_replace_rtx (XEXP (note, 0), + sets[i].orig_src, + copy_rtx (new)); + } /* The result of apply_change_group can be ignored; see canon_reg. */ |

