From patchwork Wed Nov 22 13:59:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Preudhomme X-Patchwork-Id: 840422 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-467690-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="G4sdErvY"; dkim-atps=neutral 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 3yhkbk5KzGz9s72 for ; Thu, 23 Nov 2017 00:59:46 +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:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=XgY2RyopyIuJd1G7C3WuE1h7wWK40YWy1oJ84XO6s8XpO7+TrP XHc6K35aNI95AmMMJ1S1OlDeN3JNgboZrOBoNCQ0OSXO8KxOe2vsL/OipD3M6b3u LRFOwaHACLFJKx91pnF24J+lrBthFMCzaYfQSAIYvr3rRoqT7ceibRzG4= 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:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=jbgKBFTxABAUV6eBdbNcffEg9W0=; b=G4sdErvYOY7oZ2MBn/jO 2yr4hDHJBvTKYy+bSrvTE8Xne8jSHeDOQxp1Eyzb8HTvgnYKrxq0Z/HkxMpP8Fk1 KnQOI+6Ry5KAD8uT9Fui18oDHsyKq320RfWi0MgH34QxnUSBR0TtK6bdNQ7Mbzk3 0vFYldyzhfhf1yG/wrqdkDg= Received: (qmail 74676 invoked by alias); 22 Nov 2017 13:59:37 -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 74638 invoked by uid 89); 22 Nov 2017 13:59:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, KB_WAM_FROM_NAME_SINGLEWORD, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=useless, cmse X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Nov 2017 13:59:36 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5809A1596; Wed, 22 Nov 2017 05:59:34 -0800 (PST) Received: from [10.2.206.52] (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8D8D03F246; Wed, 22 Nov 2017 05:59:33 -0800 (PST) To: Kyrill Tkachov , Ramana Radhakrishnan , Richard Earnshaw , "gcc-patches@gcc.gnu.org" From: Thomas Preudhomme Subject: [PATCH, GCC/ARM] Remove useless variable in CMSE code Message-ID: Date: Wed, 22 Nov 2017 13:59:32 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 X-IsSubscribed: yes Hi, Functions cmse_nonsecure_call_clear_caller_saved () and cmse_nonsecure_entry_clear_before_return () use a separate variable holding a pointer to padding_bits_to_clear array's first entry which is used when calling function compute_not_to_clear_mask (). This does not save space over using &padding_bits_to_clear[0] directly so this commit gets rid of it. ChangeLog entry is as follows: *** gcc/ChangeLog *** 2017-11-08 Thomas Preud'homme * config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Get rid of padding_bits_to_clear_ptr. (cmse_nonsecure_entry_clear_before_return): Likewise. Testing: Bootstrapped an arm-none-linux-gnueabihf compiler and regression test does not show any regression. Committed as obvious. Best regards, Thomas diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 7384b96fea0179334a6010b099df68c8e2a0fc32..bcb708c1b316ea08969e118fb0949b941ff19c27 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -17002,7 +17002,6 @@ cmse_nonsecure_call_clear_caller_saved (void) bool using_r4, first_param = true; function_args_iterator args_iter; uint32_t padding_bits_to_clear[4] = {0U, 0U, 0U, 0U}; - uint32_t * padding_bits_to_clear_ptr = &padding_bits_to_clear[0]; if (!NONDEBUG_INSN_P (insn)) continue; @@ -17086,7 +17085,7 @@ cmse_nonsecure_call_clear_caller_saved (void) to_clear_args_mask = compute_not_to_clear_mask (arg_type, arg_rtx, REGNO (arg_rtx), - padding_bits_to_clear_ptr); + &padding_bits_to_clear[0]); if (to_clear_args_mask) { for (regno = R0_REGNUM; regno <= maxregno; regno++) @@ -25134,7 +25133,6 @@ cmse_nonsecure_entry_clear_before_return (void) { int regno, maxregno = TARGET_HARD_FLOAT ? LAST_VFP_REGNUM : IP_REGNUM; uint32_t padding_bits_to_clear = 0; - uint32_t * padding_bits_to_clear_ptr = &padding_bits_to_clear; auto_sbitmap to_clear_bitmap (maxregno + 1); tree result_type; rtx result_rtl; @@ -25187,7 +25185,7 @@ cmse_nonsecure_entry_clear_before_return (void) gcc_assert (REG_P (result_rtl)); to_clear_return_mask = compute_not_to_clear_mask (result_type, result_rtl, 0, - padding_bits_to_clear_ptr); + &padding_bits_to_clear); if (to_clear_return_mask) { gcc_assert ((unsigned) maxregno < sizeof (long long) * __CHAR_BIT__);