From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29890 invoked by alias); 6 Aug 2014 17:37:56 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 29845 invoked by uid 89); 6 Aug 2014 17:37:56 -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:37:54 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XF4tR-00015O-Qs for gcc-patches@gcc.gnu.org; Wed, 06 Aug 2014 13:20:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:3217) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XF4tR-000151-J8 for gcc-patches@gcc.gnu.org; Wed, 06 Aug 2014 13:20:53 -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 s76HJq7s005694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 6 Aug 2014 13:19:53 -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 s76HJ2p2030913; Wed, 6 Aug 2014 13:19:52 -0400 From: David Malcolm To: gcc-patches@gcc.gnu.org Cc: David Malcolm Subject: [PATCH 086/236] jump.c: Use rtx_insn in a few places (also touches rtl.h and cfgexpand.c) Date: Wed, 06 Aug 2014 17:37:00 -0000 Message-Id: <1407345815-14551-87-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 X-SW-Source: 2014-08/txt/msg00594.txt.bz2 gcc/ * rtl.h (rebuild_jump_labels): Strengthen param "f" from rtx to rtx_insn *. (rebuild_jump_labels_chain): Likewise for param "chain". * cfgexpand.c (pass_expand::execute): Add checked cast to rtx_insn * when calling rebuild_jump_labels_chain in region where we know e->insns.r is non-NULL. * jump.c (rebuild_jump_labels_1): Strengthen param "f" from rtx to rtx_insn *. (rebuild_jump_labels): Likewise. (rebuild_jump_labels_chain): Likewise for param "chain". (cleanup_barriers): Likewise for locals "insn", "next", "prev". (init_label_info): Likewise for param "f". (maybe_propagate_label_ref): Likewise for params "jump_insn", "prev_nonjump_insn". (mark_all_labels): Likewise for param "f" and locals "insn", "prev_nonjump_insn". --- gcc/cfgexpand.c | 2 +- gcc/jump.c | 24 ++++++++++++------------ gcc/rtl.h | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index d2dc924..731faeb 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -5856,7 +5856,7 @@ pass_expand::execute (function *fun) { if (e->insns.r) { - rebuild_jump_labels_chain (e->insns.r); + rebuild_jump_labels_chain (as_a (e->insns.r)); /* Put insns after parm birth, but before NOTE_INSNS_FUNCTION_BEG. */ if (e->src == ENTRY_BLOCK_PTR_FOR_FN (fun) diff --git a/gcc/jump.c b/gcc/jump.c index b51ca17..1aab9bb 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -62,8 +62,8 @@ along with GCC; see the file COPYING3. If not see or even change what is live at any point. So perhaps let combiner do it. */ -static void init_label_info (rtx); -static void mark_all_labels (rtx); +static void init_label_info (rtx_insn *); +static void mark_all_labels (rtx_insn *); static void mark_jump_label_1 (rtx, rtx, bool, bool); static void mark_jump_label_asm (rtx, rtx); static void redirect_exp_1 (rtx *, rtx, rtx, rtx); @@ -72,7 +72,7 @@ static int returnjump_p_1 (rtx *, void *); /* Worker for rebuild_jump_labels and rebuild_jump_labels_chain. */ static void -rebuild_jump_labels_1 (rtx f, bool count_forced) +rebuild_jump_labels_1 (rtx_insn *f, bool count_forced) { rtx insn; @@ -96,7 +96,7 @@ rebuild_jump_labels_1 (rtx f, bool count_forced) instructions and jumping insns that have labels as operands (e.g. cbranchsi4). */ void -rebuild_jump_labels (rtx f) +rebuild_jump_labels (rtx_insn *f) { rebuild_jump_labels_1 (f, true); } @@ -105,7 +105,7 @@ rebuild_jump_labels (rtx f) forced_labels. It can be used on insn chains that aren't the main function chain. */ void -rebuild_jump_labels_chain (rtx chain) +rebuild_jump_labels_chain (rtx_insn *chain) { rebuild_jump_labels_1 (chain, false); } @@ -121,7 +121,7 @@ rebuild_jump_labels_chain (rtx chain) static unsigned int cleanup_barriers (void) { - rtx insn, next, prev; + rtx_insn *insn, *next, *prev; for (insn = get_insns (); insn; insn = next) { next = NEXT_INSN (insn); @@ -181,9 +181,9 @@ make_pass_cleanup_barriers (gcc::context *ctxt) notes whose labels don't occur in the insn any more. */ static void -init_label_info (rtx f) +init_label_info (rtx_insn *f) { - rtx insn; + rtx_insn *insn; for (insn = f; insn; insn = NEXT_INSN (insn)) { @@ -219,7 +219,7 @@ init_label_info (rtx f) load into a jump_insn that uses it. */ static void -maybe_propagate_label_ref (rtx jump_insn, rtx prev_nonjump_insn) +maybe_propagate_label_ref (rtx_insn *jump_insn, rtx_insn *prev_nonjump_insn) { rtx label_note, pc, pc_src; @@ -267,9 +267,9 @@ maybe_propagate_label_ref (rtx jump_insn, rtx prev_nonjump_insn) Combine consecutive labels, and count uses of labels. */ static void -mark_all_labels (rtx f) +mark_all_labels (rtx_insn *f) { - rtx insn; + rtx_insn *insn; if (current_ir_type () == IR_RTL_CFGLAYOUT) { @@ -299,7 +299,7 @@ mark_all_labels (rtx f) } else { - rtx prev_nonjump_insn = NULL; + rtx_insn *prev_nonjump_insn = NULL; for (insn = f; insn; insn = NEXT_INSN (insn)) { if (INSN_DELETED_P (insn)) diff --git a/gcc/rtl.h b/gcc/rtl.h index 9c097b6..992d4af 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -3029,8 +3029,8 @@ extern unsigned int reg_or_subregno (const_rtx); extern int redirect_jump_1 (rtx, rtx); extern void redirect_jump_2 (rtx, rtx, rtx, int, int); extern int redirect_jump (rtx, rtx, int); -extern void rebuild_jump_labels (rtx); -extern void rebuild_jump_labels_chain (rtx); +extern void rebuild_jump_labels (rtx_insn *); +extern void rebuild_jump_labels_chain (rtx_insn *); extern rtx reversed_comparison (const_rtx, enum machine_mode); extern enum rtx_code reversed_comparison_code (const_rtx, const_rtx); extern enum rtx_code reversed_comparison_code_parts (enum rtx_code, const_rtx, -- 1.8.5.3