diff options
author | Thomas Schuster <Thomas.Schuster@gmx.net> | 2000-03-05 02:02:09 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-03-05 02:02:09 +0000 |
commit | 40546a785b540f03926d6b9cee85803f7293b517 (patch) | |
tree | 0611783ce087c8edc6777d20ffeb0a2918124bcd /gcc | |
parent | 08d0be2f4c377deee7b5d0d5fe7f502a75a26d05 (diff) | |
download | gcc-40546a785b540f03926d6b9cee85803f7293b517.zip gcc-40546a785b540f03926d6b9cee85803f7293b517.tar.gz gcc-40546a785b540f03926d6b9cee85803f7293b517.tar.bz2 |
* regmove.c (copy_src_to_dest) Do not create src->dest move
for unchanging destination.
From-SVN: r32334
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/regmove.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a3d5c7..ba0cfcf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-03-04 Thomas Schuster <Thomas.Schuster@gmx.net> + + * regmove.c (copy_src_to_dest) Do not create src->dest move + for unchanging destination. + 2000-03-04 Mark Mitchell <mark@codesourcery.com> * function.h (struct sequence_stack): Remove rtl_expr. diff --git a/gcc/regmove.c b/gcc/regmove.c index 2e7b48d..ba9d2e7 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -760,6 +760,7 @@ copy_src_to_dest (insn, src, dest, old_max_uid) if (GET_CODE (src) == REG && REG_LIVE_LENGTH (REGNO (src)) > 0 && GET_CODE (dest) == REG + && !RTX_UNCHANGING_P (dest) && REG_LIVE_LENGTH (REGNO (dest)) > 0 && (set = single_set (insn)) != NULL_RTX && !reg_mentioned_p (dest, SET_SRC (set)) |