From patchwork Wed Aug 6 17:19:55 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 377216 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 B6288140086 for ; Thu, 7 Aug 2014 03:54:48 +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:cc:subject:date:message-id:in-reply-to:references; q=dns; s= default; b=nDzfoKsIDzCuAGdEig1mbqU55cXdK39EINtpBpn/wxrWyqN7goc27 RlBbUPqRQdNn6NU+tYRrXjYxM1triNmtJVgDFwIoie0yWst/9vQQeGCYg6a4yA7B 9QcnehSeOp9OOL5MS7zeA1mD6TkC1JzyNm2TZF/eSxi9ajeq24fPdQ= 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:cc:subject:date:message-id:in-reply-to:references; s= default; bh=Wwu9GXxDAVuVr01rTF2Fg9Ode54=; b=NjapcyyFQvB/dEYOAZTd qNOSdvUttHYUZn1xxwXQNdTsjQed1VR8e5chBC7/804dqh78erLb9cwbeCHsSOo+ G4PiXbRsKwdzJGyAlSBmdCrpVPWd1yLiwiLEuMHs+xm8+IYW21O0YzvfFXIsuqjB f3vOq74VVktmgPzBklyYCvw= Received: (qmail 10584 invoked by alias); 6 Aug 2014 17:40:33 -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 10544 invoked by uid 89); 6 Aug 2014 17:40:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Wed, 06 Aug 2014 17:40:32 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XF4rp-0000EC-9X for gcc-patches@gcc.gnu.org; Wed, 06 Aug 2014 13:19:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49955) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XF4rp-0000Dx-3G for gcc-patches@gcc.gnu.org; Wed, 06 Aug 2014 13:19:13 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s76HJCsj005305 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 6 Aug 2014 13:19:12 -0400 Received: from c64.redhat.com (vpn-239-139.phx2.redhat.com [10.3.239.139]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s76HJ2nq030913; Wed, 6 Aug 2014 13:19:12 -0400 From: David Malcolm To: gcc-patches@gcc.gnu.org Cc: David Malcolm Subject: [PATCH 016/236] BND_TO scaffolding Date: Wed, 6 Aug 2014 13:19:55 -0400 Message-Id: <1407345815-14551-17-git-send-email-dmalcolm@redhat.com> In-Reply-To: <1407345815-14551-1-git-send-email-dmalcolm@redhat.com> References: <1407345815-14551-1-git-send-email-dmalcolm@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 X-IsSubscribed: yes gcc/ * sel-sched-ir.h (BND_TO): insn_t will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: BND_TO, returning an rtx_insn *, and... (SET_BND_TO): New function, for use where BND_TO is used as an lvalue. * sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to SET_BND_TO. (BND_TO): New function, adding a checked cast. (SET_BND_TO): New function. * sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to SET_BND_TO. (compute_av_set_on_boundaries): Likewise. / * rtx-classes-status.txt: Add SET_BND_TO --- gcc/sel-sched-ir.c | 12 +++++++++++- gcc/sel-sched-ir.h | 3 ++- gcc/sel-sched.c | 4 ++-- rtx-classes-status.txt | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index cb4682f..01e1dd3 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -207,7 +207,7 @@ blist_add (blist_t *lp, insn_t to, ilist_t ptr, deps_t dc) _list_add (lp); bnd = BLIST_BND (*lp); - BND_TO (bnd) = to; + SET_BND_TO (bnd) = to; BND_PTR (bnd) = ptr; BND_AV (bnd) = NULL; BND_AV1 (bnd) = NULL; @@ -6468,4 +6468,14 @@ rtx& SET_BB_NOTE_LIST (basic_block bb) return SEL_REGION_BB_INFO (bb)->note_list; } +rtx_insn *BND_TO (bnd_t bnd) +{ + return as_a_nullable (bnd->to); +} + +insn_t& SET_BND_TO (bnd_t bnd) +{ + return bnd->to; +} + #endif diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index 81accaf..ab1f42f 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -233,7 +233,8 @@ struct _bnd deps_t dc; }; typedef struct _bnd *bnd_t; -#define BND_TO(B) ((B)->to) +extern rtx_insn *BND_TO (bnd_t bnd); +extern insn_t& SET_BND_TO (bnd_t bnd); /* PTR stands not for pointer as you might think, but as a Path To Root of the current instruction group from boundary B. */ diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index c3e0cca..8181ec2 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -4961,7 +4961,7 @@ move_cond_jump (rtx insn, bnd_t bnd) /* Jump is moved to the boundary. */ next = PREV_INSN (insn); - BND_TO (bnd) = insn; + SET_BND_TO (bnd) = insn; ft_edge = find_fallthru_edge_from (block_from); block_next = ft_edge->dest; @@ -5102,7 +5102,7 @@ compute_av_set_on_boundaries (fence_t fence, blist_t bnds, av_set_t *av_vliw_p) { gcc_assert (FENCE_INSN (fence) == BND_TO (bnd)); FENCE_INSN (fence) = bnd_to; - BND_TO (bnd) = bnd_to; + SET_BND_TO (bnd) = bnd_to; } av_set_clear (&BND_AV (bnd)); diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt index e77e847..52567e7 100644 --- a/rtx-classes-status.txt +++ b/rtx-classes-status.txt @@ -13,6 +13,7 @@ TODO: "Scaffolding" to be removed * DF_REF_INSN * SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER * SET_BB_NOTE_LIST +* SET_BND_TO * SET_DEP_PRO, SET_DEP_CON * SET_NEXT_INSN, SET_PREV_INSN * SET_VINSN_INSN_RTX