Commit b311fd0f by David Malcolm Committed by David Malcolm

Eliminate BB_NOTE_LIST scaffolding

gcc/
	* sel-sched-ir.h (struct sel_region_bb_info_def): Strengthen field
	"note_list" from rtx to rtx_insn *.
	(BB_NOTE_LIST): Replace this function and...
	(SET_BB_NOTE_LIST): ...this function with...
	(BB_NOTE_LIST): ...the former macro implementation.

	* sched-int.h (concat_note_lists): Strengthen param "from_end" and
	local "from_start" from rtx to rtx_insn *.  Strengthen param
	"to_endp" from rtx * to rtx_insn **.

	* haifa-sched.c (concat_note_lists): Likewise.
	* sel-sched-ir.c (init_bb): Eliminate SET_BB_NOTE_LIST in favor of
	BB_NOTE_LIST.
	(sel_restore_notes): Likewise.
	(move_bb_info): Likewise.
	(BB_NOTE_LIST): Delete this function.
	(SET_BB_NOTE_LIST): Delete this function.
	* sel-sched.c (create_block_for_bookkeeping): Eliminate
	SET_BB_NOTE_LIST in favor of BB_NOTE_LIST.

/
	* rtx-classes-status.txt (TODO): Remove SET_BB_NOTE_LIST.

From-SVN: r214482
parent ce1ce33a
2014-08-25 David Malcolm <dmalcolm@redhat.com> 2014-08-25 David Malcolm <dmalcolm@redhat.com>
* rtx-classes-status.txt (TODO): Remove SET_BB_NOTE_LIST.
2014-08-25 David Malcolm <dmalcolm@redhat.com>
* rtx-classes-status.txt (TODO): Remove SET_BB_FOOTER. * rtx-classes-status.txt (TODO): Remove SET_BB_FOOTER.
2014-08-25 David Malcolm <dmalcolm@redhat.com> 2014-08-25 David Malcolm <dmalcolm@redhat.com>
......
2014-08-25 David Malcolm <dmalcolm@redhat.com> 2014-08-25 David Malcolm <dmalcolm@redhat.com>
* sel-sched-ir.h (struct sel_region_bb_info_def): Strengthen field
"note_list" from rtx to rtx_insn *.
(BB_NOTE_LIST): Replace this function and...
(SET_BB_NOTE_LIST): ...this function with...
(BB_NOTE_LIST): ...the former macro implementation.
* sched-int.h (concat_note_lists): Strengthen param "from_end" and
local "from_start" from rtx to rtx_insn *. Strengthen param
"to_endp" from rtx * to rtx_insn **.
* haifa-sched.c (concat_note_lists): Likewise.
* sel-sched-ir.c (init_bb): Eliminate SET_BB_NOTE_LIST in favor of
BB_NOTE_LIST.
(sel_restore_notes): Likewise.
(move_bb_info): Likewise.
(BB_NOTE_LIST): Delete this function.
(SET_BB_NOTE_LIST): Delete this function.
* sel-sched.c (create_block_for_bookkeeping): Eliminate
SET_BB_NOTE_LIST in favor of BB_NOTE_LIST.
2014-08-25 David Malcolm <dmalcolm@redhat.com>
* target.def (reorder): Strengthen param "ready" of this DEFHOOK * target.def (reorder): Strengthen param "ready" of this DEFHOOK
from rtx * to rtx_insn **. from rtx * to rtx_insn **.
(reorder2): Likewise. (reorder2): Likewise.
......
...@@ -4005,9 +4005,9 @@ schedule_insn (rtx_insn *insn) ...@@ -4005,9 +4005,9 @@ schedule_insn (rtx_insn *insn)
/* Add note list that ends on FROM_END to the end of TO_ENDP. */ /* Add note list that ends on FROM_END to the end of TO_ENDP. */
void void
concat_note_lists (rtx from_end, rtx *to_endp) concat_note_lists (rtx_insn *from_end, rtx_insn **to_endp)
{ {
rtx from_start; rtx_insn *from_start;
/* It's easy when have nothing to concat. */ /* It's easy when have nothing to concat. */
if (from_end == NULL) if (from_end == NULL)
......
...@@ -1370,7 +1370,7 @@ extern int sched_speculate_insn (rtx, ds_t, rtx *); ...@@ -1370,7 +1370,7 @@ extern int sched_speculate_insn (rtx, ds_t, rtx *);
extern void unlink_bb_notes (basic_block, basic_block); extern void unlink_bb_notes (basic_block, basic_block);
extern void add_block (basic_block, basic_block); extern void add_block (basic_block, basic_block);
extern rtx_note *bb_note (basic_block); extern rtx_note *bb_note (basic_block);
extern void concat_note_lists (rtx, rtx *); extern void concat_note_lists (rtx_insn *, rtx_insn **);
extern rtx_insn *sched_emit_insn (rtx); extern rtx_insn *sched_emit_insn (rtx);
extern rtx get_ready_element (int); extern rtx get_ready_element (int);
extern int number_in_ready (void); extern int number_in_ready (void);
......
...@@ -4623,7 +4623,7 @@ static void ...@@ -4623,7 +4623,7 @@ static void
init_bb (basic_block bb) init_bb (basic_block bb)
{ {
remove_notes (bb_note (bb), BB_END (bb)); remove_notes (bb_note (bb), BB_END (bb));
SET_BB_NOTE_LIST (bb) = note_list; BB_NOTE_LIST (bb) = note_list;
} }
void void
...@@ -4658,7 +4658,7 @@ sel_restore_notes (void) ...@@ -4658,7 +4658,7 @@ sel_restore_notes (void)
{ {
note_list = BB_NOTE_LIST (first); note_list = BB_NOTE_LIST (first);
restore_other_notes (NULL, first); restore_other_notes (NULL, first);
SET_BB_NOTE_LIST (first) = NULL_RTX; BB_NOTE_LIST (first) = NULL;
FOR_BB_INSNS (first, insn) FOR_BB_INSNS (first, insn)
if (NONDEBUG_INSN_P (insn)) if (NONDEBUG_INSN_P (insn))
...@@ -5266,8 +5266,8 @@ move_bb_info (basic_block merge_bb, basic_block empty_bb) ...@@ -5266,8 +5266,8 @@ move_bb_info (basic_block merge_bb, basic_block empty_bb)
{ {
if (in_current_region_p (merge_bb)) if (in_current_region_p (merge_bb))
concat_note_lists (BB_NOTE_LIST (empty_bb), concat_note_lists (BB_NOTE_LIST (empty_bb),
&SET_BB_NOTE_LIST (merge_bb)); &BB_NOTE_LIST (merge_bb));
SET_BB_NOTE_LIST (empty_bb) = NULL_RTX; BB_NOTE_LIST (empty_bb) = NULL;
} }
...@@ -6456,17 +6456,6 @@ rtx& SET_VINSN_INSN_RTX (vinsn_t vi) ...@@ -6456,17 +6456,6 @@ rtx& SET_VINSN_INSN_RTX (vinsn_t vi)
return vi->insn_rtx; return vi->insn_rtx;
} }
rtx_insn *BB_NOTE_LIST (basic_block bb)
{
rtx note_list = SEL_REGION_BB_INFO (bb)->note_list;
return safe_as_a <rtx_insn *> (note_list);
}
rtx& SET_BB_NOTE_LIST (basic_block bb)
{
return SEL_REGION_BB_INFO (bb)->note_list;
}
rtx_insn *BND_TO (bnd_t bnd) rtx_insn *BND_TO (bnd_t bnd)
{ {
return safe_as_a <rtx_insn *> (bnd->to); return safe_as_a <rtx_insn *> (bnd->to);
......
...@@ -898,7 +898,7 @@ struct sel_region_bb_info_def ...@@ -898,7 +898,7 @@ struct sel_region_bb_info_def
{ {
/* This insn stream is constructed in such a way that it should be /* This insn stream is constructed in such a way that it should be
traversed by PREV_INSN field - (*not* NEXT_INSN). */ traversed by PREV_INSN field - (*not* NEXT_INSN). */
rtx note_list; rtx_insn *note_list;
/* Cached availability set at the beginning of a block. /* Cached availability set at the beginning of a block.
See also AV_LEVEL () for conditions when this av_set can be used. */ See also AV_LEVEL () for conditions when this av_set can be used. */
...@@ -921,8 +921,7 @@ extern vec<sel_region_bb_info_def> sel_region_bb_info; ...@@ -921,8 +921,7 @@ extern vec<sel_region_bb_info_def> sel_region_bb_info;
A note_list is a list of various notes that was scattered across BB A note_list is a list of various notes that was scattered across BB
before scheduling, and will be appended at the beginning of BB after before scheduling, and will be appended at the beginning of BB after
scheduling is finished. */ scheduling is finished. */
extern rtx_insn *BB_NOTE_LIST (basic_block); #define BB_NOTE_LIST(BB) (SEL_REGION_BB_INFO (BB)->note_list)
extern rtx& SET_BB_NOTE_LIST (basic_block);
#define BB_AV_SET(BB) (SEL_REGION_BB_INFO (BB)->av_set) #define BB_AV_SET(BB) (SEL_REGION_BB_INFO (BB)->av_set)
#define BB_AV_LEVEL(BB) (SEL_REGION_BB_INFO (BB)->av_level) #define BB_AV_LEVEL(BB) (SEL_REGION_BB_INFO (BB)->av_level)
......
...@@ -4586,8 +4586,8 @@ create_block_for_bookkeeping (edge e1, edge e2) ...@@ -4586,8 +4586,8 @@ create_block_for_bookkeeping (edge e1, edge e2)
/* Move note_list from the upper bb. */ /* Move note_list from the upper bb. */
gcc_assert (BB_NOTE_LIST (new_bb) == NULL_RTX); gcc_assert (BB_NOTE_LIST (new_bb) == NULL_RTX);
SET_BB_NOTE_LIST (new_bb) = BB_NOTE_LIST (bb); BB_NOTE_LIST (new_bb) = BB_NOTE_LIST (bb);
SET_BB_NOTE_LIST (bb) = NULL_RTX; BB_NOTE_LIST (bb) = NULL;
gcc_assert (e2->dest == bb); gcc_assert (e2->dest == bb);
......
...@@ -16,7 +16,6 @@ TODO: "Scaffolding" to be removed ...@@ -16,7 +16,6 @@ TODO: "Scaffolding" to be removed
================================= =================================
* DF_REF_INSN * DF_REF_INSN
* SET_BB_HEAD, SET_BB_END, SET_BB_HEADER * SET_BB_HEAD, SET_BB_END, SET_BB_HEADER
* SET_BB_NOTE_LIST
* SET_BND_TO * SET_BND_TO
* SET_DEP_PRO, SET_DEP_CON * SET_DEP_PRO, SET_DEP_CON
* SET_NEXT_INSN, SET_PREV_INSN * SET_NEXT_INSN, SET_PREV_INSN
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment