static void rtl_dump_bb (FILE *, basic_block, int, dump_flags_t);
static int rtl_verify_flow_info_1 (void);
static void rtl_make_forwarder_block (edge);
+static bool rtl_bb_info_initialized_p (basic_block bb);
\f
/* Return true if NOTE is not one of the ones that must be kept paired,
so that we may simply delete it. */
putc ('\n', outf);
}
- if (bb->index != ENTRY_BLOCK && bb->index != EXIT_BLOCK)
+ if (bb->index != ENTRY_BLOCK && bb->index != EXIT_BLOCK
+ && rtl_bb_info_initialized_p (bb))
{
rtx_insn *last = BB_END (bb);
if (last)
bb->il.x.rtl = ggc_cleared_alloc<rtl_bb_info> ();
}
+static bool
+rtl_bb_info_initialized_p (basic_block bb)
+{
+ return bb->il.x.rtl;
+}
+
/* Returns true if it is possible to remove edge E by redirecting
it to the destination of the other edge from E->src. */