From ff6191481c577c62e481a2f4df3de182d8b63110 Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Wed, 20 Jun 2012 01:01:00 +0000 Subject: [PATCH] mips.c (mips_process_sync_loop): Emit cmp result only if it is used. 2012-06-19 Maxim Kuvyrkov * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if it is used. From-SVN: r188805 --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b679ae5d8b..e1a1d0048d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-06-19 Maxim Kuvyrkov + + * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if + it is used. + 2012-06-19 Tom de Vries Maxim Kuvyrkov diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 64b486d1d0b..3bbb3ea19f1 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) { -- 2.30.2