diff options
author | Maxim Kuvyrkov <maxim@codesourcery.com> | 2012-06-20 01:01:00 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <mkuvyrkov@gcc.gnu.org> | 2012-06-20 01:01:00 +0000 |
commit | ff6191481c577c62e481a2f4df3de182d8b63110 (patch) | |
tree | 51048062e80a65484deafbb0615a89ec8cc7c943 /gcc | |
parent | 6399761a4a77d5e5996c8e82eba042f4a26a4c3d (diff) | |
download | gcc-ff6191481c577c62e481a2f4df3de182d8b63110.zip gcc-ff6191481c577c62e481a2f4df3de182d8b63110.tar.gz gcc-ff6191481c577c62e481a2f4df3de182d8b63110.tar.bz2 |
mips.c (mips_process_sync_loop): Emit cmp result only if it is used.
2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com>
* config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if
it is used.
From-SVN: r188805
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b679ae..e1a1d00 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com> + + * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if + it is used. + 2012-06-19 Tom de Vries <vries@codesourcery.com> Maxim Kuvyrkov <maxim@codesourcery.com> diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 64b486d..3bbb3ea 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -12073,6 +12073,10 @@ mips_process_sync_loop (rtx insn, rtx *operands) insn1 = get_attr_sync_insn1 (insn); insn2 = get_attr_sync_insn2 (insn); + /* Don't bother setting CMP result that is never used. */ + if (cmp && find_reg_note (insn, REG_UNUSED, cmp)) + cmp = 0; + memmodel_attr = get_attr_sync_memmodel (insn); switch (memmodel_attr) { |