From patchwork Thu Jun 5 21:33:47 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 356600 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 61E74140087 for ; Fri, 6 Jun 2014 07:33:59 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=default; b=FlXcRQgeh3m7/brM8tO0NPzltZTgZ FB0GXeSbtEBqqWxLLj0glTMtt1+3TcazjnF5LKato7bjvL8tXVU+OKMzyKHg/KXh 9ucq02EFzjyx+JFdiPRAwxnqJPNRVHFSG3EyaC9doek8x/C7BNXa92QxXvK4rYse 1u/r78SNgRB+PI= 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:from :to:subject:references:date:in-reply-to:message-id:mime-version :content-type; s=default; bh=+KD45zyXoe3aZno+usOXjhFgjbs=; b=HbQ PmBjDdIJN4OgPRRUKk2IB47obKqeVDG5IKR+Vo7YYa3BgX4yUF6KWPBFDOtoYyzp 3fcrQc1VQ2F9V1BsiGdmseMxllpDi9FKSMaVBLmE8dD87joexwVeuXOc3q8lg6FE N+37OCD+AHzZvnn7qgOkxQeRIR6fFJKNW7EGjMNI= Received: (qmail 32701 invoked by alias); 5 Jun 2014 21:33:52 -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 32687 invoked by uid 89); 5 Jun 2014 21:33:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f41.google.com Received: from mail-wg0-f41.google.com (HELO mail-wg0-f41.google.com) (74.125.82.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 05 Jun 2014 21:33:51 +0000 Received: by mail-wg0-f41.google.com with SMTP id z12so1836330wgg.0 for ; Thu, 05 Jun 2014 14:33:48 -0700 (PDT) X-Received: by 10.194.6.2 with SMTP id w2mr688683wjw.6.1402004028279; Thu, 05 Jun 2014 14:33:48 -0700 (PDT) Received: from localhost ([2.26.169.52]) by mx.google.com with ESMTPSA id qa6sm5400821wic.5.2014.06.05.14.33.47 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Jun 2014 14:33:47 -0700 (PDT) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, rdsandiford@googlemail.com Subject: [PATCH 5/8] Remove unused operand_alternative fields References: <87sinj9hhy.fsf@talisman.default> Date: Thu, 05 Jun 2014 22:33:47 +0100 In-Reply-To: <87sinj9hhy.fsf@talisman.default> (Richard Sandiford's message of "Thu, 05 Jun 2014 22:24:57 +0100") Message-ID: <877g4v9h38.fsf@talisman.default> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 This patch just gets rid of some write-only operand_alternative fields, which makes things easier for the later patches to preprocess_constraints. Richard gcc/ * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok, decmem_ok and incmem_ok. Reformat other bitfields for consistency. * recog.c (preprocess_constraints): Update accordingly. Index: gcc/recog.h =================================================================== --- gcc/recog.h 2014-06-04 18:15:06.589969020 +0100 +++ gcc/recog.h 2014-06-04 18:19:30.391331977 +0100 @@ -60,25 +60,17 @@ struct operand_alternative int matched : 8; /* Nonzero if '&' was found in the constraint string. */ - unsigned int earlyclobber:1; + unsigned int earlyclobber : 1; /* Nonzero if TARGET_MEM_CONSTRAINT was found in the constraint string. */ - unsigned int memory_ok:1; - /* Nonzero if 'o' was found in the constraint string. */ - unsigned int offmem_ok:1; - /* Nonzero if 'V' was found in the constraint string. */ - unsigned int nonoffmem_ok:1; - /* Nonzero if '<' was found in the constraint string. */ - unsigned int decmem_ok:1; - /* Nonzero if '>' was found in the constraint string. */ - unsigned int incmem_ok:1; + unsigned int memory_ok : 1; /* Nonzero if 'p' was found in the constraint string. */ - unsigned int is_address:1; + unsigned int is_address : 1; /* Nonzero if 'X' was found in the constraint string, or if the constraint string for this alternative was empty. */ - unsigned int anything_ok:1; + unsigned int anything_ok : 1; - unsigned int unused : 8; + unsigned int unused : 12; }; /* Return the class for operand I of alternative ALT, taking matching Index: gcc/recog.c =================================================================== --- gcc/recog.c 2014-06-04 18:15:06.589969020 +0100 +++ gcc/recog.c 2014-06-04 18:19:30.392331986 +0100 @@ -2415,18 +2415,6 @@ preprocess_constraints (int n_operands, case TARGET_MEM_CONSTRAINT: op_alt[i].memory_ok = 1; break; - case '<': - op_alt[i].decmem_ok = 1; - break; - case '>': - op_alt[i].incmem_ok = 1; - break; - case 'V': - op_alt[i].nonoffmem_ok = 1; - break; - case 'o': - op_alt[i].offmem_ok = 1; - break; case 'X': op_alt[i].anything_ok = 1; break;