+2014-08-21 David Malcolm <dmalcolm@redhat.com>
+
+ * sel-sched-ir.h (exit_insn): Strengthen from rtx to rtx_insn *.
+ (sel_bb_head): Strengthen return type insn_t (currently just an
+ rtx) to rtx_insn *.
+ (sel_bb_end): Likewise.
+
+ * sel-sched-ir.c (exit_insn): Strengthen from rtx to rtx_insn *.
+ (sel_bb_head): Strengthen return type and local "head" from
+ insn_t (currently just an rtx) to rtx_insn *.
+ (sel_bb_end): Likewise for return type.
+ (free_nop_and_exit_insns): Replace use of NULL_RTX with NULL when
+ working with insn.
+
2014-08-21 David Malcolm <dmalcolm@redhat.com>
* basic-block.h (get_last_bb_insn): Strengthen return type from
rtx nop_pattern = NULL_RTX;
/* A special instruction that resides in EXIT_BLOCK.
EXIT_INSN is successor of the insns that lead to EXIT_BLOCK. */
-rtx exit_insn = NULL_RTX;
+rtx_insn *exit_insn = NULL;
/* TRUE if while scheduling current region, which is loop, its preheader
was removed. */
/* Functions to work with control-flow graph. */
/* Return basic block note of BB. */
-insn_t
+rtx_insn *
sel_bb_head (basic_block bb)
{
- insn_t head;
+ rtx_insn *head;
if (bb == EXIT_BLOCK_PTR_FOR_FN (cfun))
{
head = next_nonnote_insn (note);
if (head && (BARRIER_P (head) || BLOCK_FOR_INSN (head) != bb))
- head = NULL_RTX;
+ head = NULL;
}
return head;
}
/* Return last insn of BB. */
-insn_t
+rtx_insn *
sel_bb_end (basic_block bb)
{
if (sel_bb_empty_p (bb))
- return NULL_RTX;
+ return NULL;
gcc_assert (bb != EXIT_BLOCK_PTR_FOR_FN (cfun));
void
free_nop_and_exit_insns (void)
{
- exit_insn = NULL_RTX;
+ exit_insn = NULL;
nop_pattern = NULL_RTX;
}
extern rtx nop_pattern;
/* An insn that 'contained' in EXIT block. */
-extern rtx exit_insn;
+extern rtx_insn *exit_insn;
/* Provide a separate luid for the insn. */
#define INSN_INIT_TODO_LUID (1)
/* Some needed definitions. */
extern basic_block after_recovery;
-extern insn_t sel_bb_head (basic_block);
-extern insn_t sel_bb_end (basic_block);
+extern rtx_insn *sel_bb_head (basic_block);
+extern rtx_insn *sel_bb_end (basic_block);
extern bool sel_bb_empty_p (basic_block);
extern bool in_current_region_p (basic_block);
/* Basic block and CFG functions. */
-extern insn_t sel_bb_head (basic_block);
+extern rtx_insn *sel_bb_head (basic_block);
extern bool sel_bb_head_p (insn_t);
-extern insn_t sel_bb_end (basic_block);
+extern rtx_insn *sel_bb_end (basic_block);
extern bool sel_bb_end_p (insn_t);
extern bool sel_bb_empty_p (basic_block);