aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2012-06-20 01:01:00 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2012-06-20 01:01:00 +0000
commitff6191481c577c62e481a2f4df3de182d8b63110 (patch)
tree51048062e80a65484deafbb0615a89ec8cc7c943 /gcc
parent6399761a4a77d5e5996c8e82eba042f4a26a4c3d (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c4
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)
{