@@ -4625,7 +4625,7 @@ static void
init_bb (basic_block bb)
{
remove_notes (bb_note (bb), BB_END (bb));
- BB_NOTE_LIST (bb) = note_list;
+ SET_BB_NOTE_LIST (bb) = note_list;
}
void
@@ -4660,7 +4660,7 @@ sel_restore_notes (void)
{
note_list = BB_NOTE_LIST (first);
restore_other_notes (NULL, first);
- BB_NOTE_LIST (first) = NULL_RTX;
+ SET_BB_NOTE_LIST (first) = NULL_RTX;
FOR_BB_INSNS (first, insn)
if (NONDEBUG_INSN_P (insn))
@@ -5268,8 +5268,8 @@ move_bb_info (basic_block merge_bb, basic_block empty_bb)
{
if (in_current_region_p (merge_bb))
concat_note_lists (BB_NOTE_LIST (empty_bb),
- &BB_NOTE_LIST (merge_bb));
- BB_NOTE_LIST (empty_bb) = NULL_RTX;
+ &SET_BB_NOTE_LIST (merge_bb));
+ SET_BB_NOTE_LIST (empty_bb) = NULL_RTX;
}
@@ -6457,4 +6457,15 @@ rtx& SET_VINSN_INSN_RTX (vinsn_t vi)
return vi->insn_rtx;
}
+rtx_insn *BB_NOTE_LIST (basic_block bb)
+{
+ rtx note_list = SEL_REGION_BB_INFO (bb)->note_list;
+ return as_a_nullable <rtx_insn *> (note_list);
+}
+
+rtx& SET_BB_NOTE_LIST (basic_block bb)
+{
+ return SEL_REGION_BB_INFO (bb)->note_list;
+}
+
#endif
@@ -920,7 +920,8 @@ 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
before scheduling, and will be appended at the beginning of BB after
scheduling is finished. */
-#define BB_NOTE_LIST(BB) (SEL_REGION_BB_INFO (BB)->note_list)
+extern rtx_insn *BB_NOTE_LIST (basic_block);
+extern rtx& SET_BB_NOTE_LIST (basic_block);
#define BB_AV_SET(BB) (SEL_REGION_BB_INFO (BB)->av_set)
#define BB_AV_LEVEL(BB) (SEL_REGION_BB_INFO (BB)->av_level)
@@ -4592,8 +4592,8 @@ create_block_for_bookkeeping (edge e1, edge e2)
/* Move note_list from the upper bb. */
gcc_assert (BB_NOTE_LIST (new_bb) == NULL_RTX);
- BB_NOTE_LIST (new_bb) = BB_NOTE_LIST (bb);
- BB_NOTE_LIST (bb) = NULL_RTX;
+ SET_BB_NOTE_LIST (new_bb) = BB_NOTE_LIST (bb);
+ SET_BB_NOTE_LIST (bb) = NULL_RTX;
gcc_assert (e2->dest == bb);
@@ -12,6 +12,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_DEP_PRO, SET_DEP_CON
* SET_NEXT_INSN, SET_PREV_INSN
* SET_VINSN_INSN_RTX