From patchwork Wed Apr 21 21:33:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Maciej W. Rozycki" X-Patchwork-Id: 1468885 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FQYgl1lMqz9sVq for ; Thu, 22 Apr 2021 07:33:07 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 376203987C3B; Wed, 21 Apr 2021 21:33:05 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from angie.orcam.me.uk (angie.orcam.me.uk [IPv6:2001:4190:8020::4]) by sourceware.org (Postfix) with ESMTP id 385AC384605A for ; Wed, 21 Apr 2021 21:33:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 385AC384605A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=orcam.me.uk Authentication-Results: sourceware.org; spf=none smtp.mailfrom=macro@orcam.me.uk Received: by angie.orcam.me.uk (Postfix, from userid 500) id BD8F792009D; Wed, 21 Apr 2021 23:33:02 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by angie.orcam.me.uk (Postfix) with ESMTP id B382E92009C; Wed, 21 Apr 2021 23:33:02 +0200 (CEST) Date: Wed, 21 Apr 2021 23:33:02 +0200 (CEST) From: "Maciej W. Rozycki" To: gcc-patches@gcc.gnu.org Subject: [PATCH 1/3] VAX: Remove dead `adjacent_operands_p' function In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 X-Spam-Status: No, score=-3488.2 required=5.0 tests=BAYES_00, KAM_ASCII_DIVIDERS, KAM_DMARC_STATUS, KAM_INFOUSMEBIZ, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" This function has never been used and it is unclear what its intended purpose was. gcc/ * config/vax/vax-protos.h (adjacent_operands_p): Remove prototype. * config/vax/vax.c (adjacent_operands_p): Remove. --- gcc/config/vax/vax-protos.h | 1 gcc/config/vax/vax.c | 73 -------------------------------------------- 2 files changed, 74 deletions(-) gcc-vax-adjacent_operands.diff Index: gcc/gcc/config/vax/vax-protos.h =================================================================== --- gcc.orig/gcc/config/vax/vax-protos.h +++ gcc/gcc/config/vax/vax-protos.h @@ -24,7 +24,6 @@ extern void vax_expand_prologue (void); extern bool vax_acceptable_pic_operand_p (rtx, bool, bool); extern machine_mode vax_select_cc_mode (enum rtx_code, rtx, rtx); extern const char *cond_name (rtx); -extern bool adjacent_operands_p (rtx, rtx, machine_mode); extern const char *rev_cond_name (rtx); extern void print_operand_address (FILE *, rtx); extern void print_operand (FILE *, rtx, int); Index: gcc/gcc/config/vax/vax.c =================================================================== --- gcc.orig/gcc/config/vax/vax.c +++ gcc/gcc/config/vax/vax.c @@ -2108,79 +2108,6 @@ vax_expand_addsub_di_operands (rtx * ope } } -bool -adjacent_operands_p (rtx lo, rtx hi, machine_mode mode) -{ - HOST_WIDE_INT lo_offset; - HOST_WIDE_INT hi_offset; - - if (GET_CODE (lo) != GET_CODE (hi)) - return false; - - if (REG_P (lo)) - return mode == SImode && REGNO (lo) + 1 == REGNO (hi); - if (CONST_INT_P (lo)) - return INTVAL (hi) == 0 && UINTVAL (lo) < 64; - if (CONST_INT_P (lo)) - return mode != SImode; - - if (!MEM_P (lo)) - return false; - - if (MEM_VOLATILE_P (lo) || MEM_VOLATILE_P (hi)) - return false; - - lo = XEXP (lo, 0); - hi = XEXP (hi, 0); - - if (GET_CODE (lo) == POST_INC /* || GET_CODE (lo) == PRE_DEC */) - return rtx_equal_p (lo, hi); - - switch (GET_CODE (lo)) - { - case REG: - case SYMBOL_REF: - lo_offset = 0; - break; - case CONST: - lo = XEXP (lo, 0); - /* FALLTHROUGH */ - case PLUS: - if (!CONST_INT_P (XEXP (lo, 1))) - return false; - lo_offset = INTVAL (XEXP (lo, 1)); - lo = XEXP (lo, 0); - break; - default: - return false; - } - - switch (GET_CODE (hi)) - { - case REG: - case SYMBOL_REF: - hi_offset = 0; - break; - case CONST: - hi = XEXP (hi, 0); - /* FALLTHROUGH */ - case PLUS: - if (!CONST_INT_P (XEXP (hi, 1))) - return false; - hi_offset = INTVAL (XEXP (hi, 1)); - hi = XEXP (hi, 0); - break; - default: - return false; - } - - if (GET_CODE (lo) == MULT || GET_CODE (lo) == PLUS) - return false; - - return rtx_equal_p (lo, hi) - && hi_offset - lo_offset == GET_MODE_SIZE (mode); -} - /* Output assembler code for a block containing the constant parts of a trampoline, leaving space for the variable parts. */