Projects
openEuler:24.03:SP1:Everything
gcc
_service:tar_scm:0131-Backport-SME-mode-switchi...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0131-Backport-SME-mode-switching-Remove-unused-bbnum-fiel.patch of Package gcc
From 8a43bd7885ce479cadb0643fbb0fc22d2b0ffced Mon Sep 17 00:00:00 2001 From: Richard Sandiford <richard.sandiford@arm.com> Date: Sun, 5 Nov 2023 18:28:46 +0000 Subject: [PATCH 032/157] [Backport][SME] mode-switching: Remove unused bbnum field Reference: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2d55ed2b8a754d7279cd002941f7cb481f0fd133 seginfo had an unused bbnum field, presumably dating from before BB information was attached directly to insns. gcc/ * mode-switching.cc: Remove unused forward references. (seginfo): Remove bbnum. (new_seginfo): Remove associated argument. (optimize_mode_switching): Update calls accordingly. --- gcc/mode-switching.cc | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/gcc/mode-switching.cc b/gcc/mode-switching.cc index 6e3f1dc65..4cf8f03a0 100644 --- a/gcc/mode-switching.cc +++ b/gcc/mode-switching.cc @@ -65,13 +65,11 @@ along with GCC; see the file COPYING3. If not see MODE is the mode this insn must be executed in. INSN_PTR is the insn to be executed (may be the note that marks the beginning of a basic block). - BBNUM is the flow graph basic block this insn occurs in. NEXT is the next insn in the same basic block. */ struct seginfo { int mode; rtx_insn *insn_ptr; - int bbnum; struct seginfo *next; HARD_REG_SET regs_live; }; @@ -84,11 +82,6 @@ struct bb_info int mode_in; }; -static struct seginfo * new_seginfo (int, rtx_insn *, int, HARD_REG_SET); -static void add_seginfo (struct bb_info *, struct seginfo *); -static void reg_dies (rtx, HARD_REG_SET *); -static void reg_becomes_live (rtx, const_rtx, void *); - /* Clear ode I from entity J in bitmap B. */ #define clear_mode_bit(b, j, i) \ bitmap_clear_bit (b, (j * max_num_modes) + i) @@ -148,13 +141,13 @@ commit_mode_sets (struct edge_list *edge_list, int e, struct bb_info *info) } /* Allocate a new BBINFO structure, initialized with the MODE, INSN, - and basic block BB parameters. + and REGS_LIVE parameters. INSN may not be a NOTE_INSN_BASIC_BLOCK, unless it is an empty basic block; that allows us later to insert instructions in a FIFO-like manner. */ static struct seginfo * -new_seginfo (int mode, rtx_insn *insn, int bb, HARD_REG_SET regs_live) +new_seginfo (int mode, rtx_insn *insn, const HARD_REG_SET ®s_live) { struct seginfo *ptr; @@ -163,7 +156,6 @@ new_seginfo (int mode, rtx_insn *insn, int bb, HARD_REG_SET regs_live) ptr = XNEW (struct seginfo); ptr->mode = mode; ptr->insn_ptr = insn; - ptr->bbnum = bb; ptr->next = NULL; ptr->regs_live = regs_live; return ptr; @@ -604,7 +596,7 @@ optimize_mode_switching (void) gcc_assert (NOTE_INSN_BASIC_BLOCK_P (ins_pos)); if (ins_pos != BB_END (bb)) ins_pos = NEXT_INSN (ins_pos); - ptr = new_seginfo (no_mode, ins_pos, bb->index, live_now); + ptr = new_seginfo (no_mode, ins_pos, live_now); add_seginfo (info + bb->index, ptr); for (i = 0; i < no_mode; i++) clear_mode_bit (transp[bb->index], j, i); @@ -622,7 +614,7 @@ optimize_mode_switching (void) { any_set_required = true; last_mode = mode; - ptr = new_seginfo (mode, insn, bb->index, live_now); + ptr = new_seginfo (mode, insn, live_now); add_seginfo (info + bb->index, ptr); for (i = 0; i < no_mode; i++) clear_mode_bit (transp[bb->index], j, i); @@ -651,7 +643,7 @@ optimize_mode_switching (void) mark the block as nontransparent. */ if (!any_set_required) { - ptr = new_seginfo (no_mode, BB_END (bb), bb->index, live_now); + ptr = new_seginfo (no_mode, BB_END (bb), live_now); add_seginfo (info + bb->index, ptr); if (last_mode != no_mode) for (i = 0; i < no_mode; i++) -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2