From patchwork Thu Jan 29 11:40:25 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kyrylo Tkachov X-Patchwork-Id: 434531 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id C36401402CC for ; Thu, 29 Jan 2015 22:41:06 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:content-type; q=dns; s=default; b=Yewy7TwcNb/8eFi0yr3N3VuL3YG7RbL3Th7xf2shFs1 JVEveXoaLXD58SGCZpdow0Kdq7z50n8A2j5ZzKyXA61LHpEk/aVQNYwRndCz/DS2 0zxpsdoqTasEQV+LQI/senxK1y90qaTv7qSMTOwC//ByA3hqvu66jI/oMRAP4TrU = DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:content-type; s=default; bh=iem/G/DKB4w0Zwx5AItOJ6THgXg=; b=vGS/vWdgaRJNitHF0 kWNBjWo21jMd3lwI4zOxXHYO/4Tg6vgtuHsLky4DVhO+2O4o80MVtrt8uF2zvlKy aHCc7BS+TN16I0o1k6KpmD3QWUn0WOtTCW905dl+Qed7wC9Ht3ZjBZlLO9s6z3wo 4YNEk+fQUcbJVP/qsW7SJrgNnA= Received: (qmail 30386 invoked by alias); 29 Jan 2015 11:40:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 30372 invoked by uid 89); 29 Jan 2015 11:40:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 29 Jan 2015 11:40:31 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by service87.mimecast.com; Thu, 29 Jan 2015 11:40:28 +0000 Received: from [10.1.207.43] ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 29 Jan 2015 11:40:25 +0000 Message-ID: <54CA1C29.3090209@arm.com> Date: Thu, 29 Jan 2015 11:40:25 +0000 From: Kyrill Tkachov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: GCC Patches CC: Ramana Radhakrishnan , Richard Earnshaw Subject: [PATCH][ARM][cleanup] Simplify some expressions in some epilogue-related functions X-MC-Unique: 115012911402816301 X-IsSubscribed: yes Hi all, This is another cleanup patch that simplifies some expressions of the form ( ? true : false) or if (boolean == true) and other minor cleanups. Tested arm-none-eabi. Ok for trunk? Or should this wait for the next stage? Thanks, Kyrill 2015-01-29 Kyrylo Tkachov * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of return_in_pc. Remove redunant assignments. (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc. (arm_expand_epilogue): Don't compare boolean with true in if condition. commit 568374491b4497bd8b122cb31db8ecf2bd8cb43b Author: Kyrylo Tkachov Date: Fri Nov 28 16:41:02 2014 +0000 [ARM] Clean up multi-ref pop and epilogue functions diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c9701b7..246298a 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -20273,11 +20273,10 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask) rtx par; rtx dwarf = NULL_RTX; rtx tmp, reg; - bool return_in_pc; + bool return_in_pc = saved_regs_mask & (1 << PC_REGNUM); int offset_adj; int emit_update; - return_in_pc = (saved_regs_mask & (1 << PC_REGNUM)) ? true : false; offset_adj = return_in_pc ? 1 : 0; for (i = 0; i <= LAST_ARM_REGNUM; i++) if (saved_regs_mask & (1 << i)) @@ -20293,10 +20292,7 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask) par = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (num_regs + emit_update + offset_adj)); if (return_in_pc) - { - tmp = ret_rtx; - XVECEXP (par, 0, 0) = tmp; - } + XVECEXP (par, 0, 0) = ret_rtx; if (emit_update) { @@ -20446,9 +20442,8 @@ thumb2_emit_ldrd_pop (unsigned long saved_regs_mask) rtx par = NULL_RTX; rtx dwarf = NULL_RTX; rtx tmp, reg, tmp1; - bool return_in_pc; + bool return_in_pc = saved_regs_mask & (1 << PC_REGNUM); - return_in_pc = (saved_regs_mask & (1 << PC_REGNUM)) ? true : false; for (i = 0; i <= LAST_ARM_REGNUM; i++) if (saved_regs_mask & (1 << i)) num_regs++; @@ -25230,7 +25225,7 @@ arm_expand_epilogue (bool really_return) arm_emit_multi_reg_pop (saved_regs_mask); } - if (return_in_pc == true) + if (return_in_pc) return; }