From patchwork Wed Aug 6 17:19:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 377311 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 8547E140086 for ; Thu, 7 Aug 2014 04:19:07 +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=hHr2HDd64j7KetyHM2r19whAq336XEzkFBptQ8awFSz7QzLBDFYRG ES9TJ/MCDgfbTfWa6zHVO8vV3fSEf2d9plw7MQHWbJIwK7wasZpOJ47vRU//FAyd SKGtOT5ZNXyvJAeq9Ml+JLU7ABR+xtjVxXMi2oC2Uipc20Ij7InpNY= 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=o9llxHm9Hb/HqcCphYxVZV/52OQ=; b=ZZvGnEWQYQonfQ2lgCzw YvSLkTCsHWd1cIvO5EiGtK//00Jth+IU8EiOE8tXs4ACdBQjOnTk1RhQz8VUpuVe oJl3NnfX7mtFFu/qyk451fBPE2T0BTrzF/P2L/TblrVnop0P8Dz1NRq/QgpALYnp AtPUDnYWvF7ti6z07brgt/c= Received: (qmail 24048 invoked by alias); 6 Aug 2014 18:02: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 23956 invoked by uid 89); 6 Aug 2014 18:02:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 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 18:02:35 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XF4ro-0000Db-7x for gcc-patches@gcc.gnu.org; Wed, 06 Aug 2014 13:19:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:10943) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XF4rn-0000DO-Vf for gcc-patches@gcc.gnu.org; Wed, 06 Aug 2014 13:19:12 -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 s76HJB0B028449 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 6 Aug 2014 13:19:11 -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 s76HJ2no030913; Wed, 6 Aug 2014 13:19:11 -0400 From: David Malcolm To: gcc-patches@gcc.gnu.org Cc: David Malcolm Subject: [PATCH 014/236] VINSN_INSN_RTX scaffolding Date: Wed, 6 Aug 2014 13:19:53 -0400 Message-Id: <1407345815-14551-15-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 For now, convert into VINSN_INSN_RTX a pair of functions. We will eventually change them back to a macro once the relevant field is of type rtx_insn *. gcc/ * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx" field will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: VINSN_INSN_RTX, returning an rtx_insn *, and... (SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX is used as an lvalue. * sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with SET_VINSN_INSN_RTX where it's used as an lvalue. (VINSN_INSN_RTX): New function. (SET_VINSN_INSN_RTX): New function. / * rtx-classes-status.txt: Add SET_VINSN_INSN_RTX. --- gcc/sel-sched-ir.c | 13 ++++++++++++- gcc/sel-sched-ir.h | 3 ++- rtx-classes-status.txt | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index c1a8a48..18ffa6c 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -1179,7 +1179,7 @@ vinsn_init (vinsn_t vi, insn_t insn, bool force_unique_p) hash_rtx_callback_function hrcf; int insn_class; - VINSN_INSN_RTX (vi) = insn; + SET_VINSN_INSN_RTX (vi) = insn; VINSN_COUNT (vi) = 0; vi->cost = -1; @@ -6446,4 +6446,15 @@ sel_remove_loop_preheader (void) SET_LOOP_PREHEADER_BLOCKS (loop_outer (current_loop_nest), preheader_blocks); } + +rtx_insn *VINSN_INSN_RTX (vinsn_t vi) +{ + return as_a_nullable (vi->insn_rtx); +} + +rtx& SET_VINSN_INSN_RTX (vinsn_t vi) +{ + return vi->insn_rtx; +} + #endif diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index f63d571..7aef287 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -645,7 +645,8 @@ struct vinsn_def bool may_trap_p; }; -#define VINSN_INSN_RTX(VI) ((VI)->insn_rtx) +extern rtx_insn *VINSN_INSN_RTX (vinsn_t); +extern rtx& SET_VINSN_INSN_RTX (vinsn_t); #define VINSN_PATTERN(VI) (PATTERN (VINSN_INSN_RTX (VI))) #define VINSN_ID(VI) (&((VI)->id)) diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt index 2a8773f..fe04611 100644 --- a/rtx-classes-status.txt +++ b/rtx-classes-status.txt @@ -14,3 +14,4 @@ TODO: "Scaffolding" to be removed * SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER * SET_DEP_PRO, SET_DEP_CON * SET_NEXT_INSN, SET_PREV_INSN +* SET_VINSN_INSN_RTX