X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fbasic-block.h;h=29c1167cfe77fa12039d665baf68bc096fbbd3ee;hb=9685fb69b2615db052080a08496f3aa137ec1892;hp=f175208cfd3a71632aa31283f5d47e3a257106ef;hpb=1b4345f7fc7dfe7f92072156a37830efedd61f20;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/basic-block.h b/gcc/basic-block.h index f175208cfd3..29c1167cfe7 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -99,7 +99,6 @@ extern const struct gcov_ctr_summary *profile_info; struct loop; /* Declared in tree-flow.h. */ -struct edge_prediction; struct rtl_bb_info; /* A basic block is a sequence of instructions with only entry and @@ -284,7 +283,8 @@ enum profile_status_d { PROFILE_ABSENT, PROFILE_GUESSED, - PROFILE_READ + PROFILE_READ, + PROFILE_LAST /* Last value, used by profile streaming. */ }; /* A structure to group all the per-function control flow graph data. @@ -795,18 +795,21 @@ extern void flow_nodes_print (const char *, const_sbitmap, FILE *); extern void flow_edge_list_print (const char *, const edge *, int, FILE *); /* In cfgrtl.c */ -extern basic_block force_nonfallthru (edge); extern rtx block_label (basic_block); extern bool purge_all_dead_edges (void); extern bool purge_dead_edges (basic_block); +extern bool fixup_abnormal_edges (void); /* In cfgbuild.c. */ extern void find_many_sub_basic_blocks (sbitmap); extern void rtl_make_eh_edge (sbitmap, basic_block, rtx); +enum replace_direction { dir_none, dir_forward, dir_backward, dir_both }; + /* In cfgcleanup.c. */ extern bool cleanup_cfg (int); -extern int flow_find_cross_jump (basic_block, basic_block, rtx *, rtx *); +extern int flow_find_cross_jump (basic_block, basic_block, rtx *, rtx *, + enum replace_direction*); extern int flow_find_head_matching_sequence (basic_block, basic_block, rtx *, rtx *, int); @@ -815,7 +818,6 @@ extern bool delete_unreachable_blocks (void); extern bool mark_dfs_back_edges (void); extern void set_edge_can_fallthru_flag (void); extern void update_br_prob_note (basic_block); -extern void fixup_abnormal_edges (void); extern bool inside_basic_block_p (const_rtx); extern bool control_flow_insn_p (const_rtx); extern rtx get_last_bb_insn (basic_block); @@ -881,9 +883,6 @@ extern basic_block get_bb_copy (basic_block); void set_loop_copy (struct loop *, struct loop *); struct loop *get_loop_copy (struct loop *); - -extern rtx insert_insn_end_bb_new (rtx, basic_block); - #include "cfghooks.h" /* Return true when one of the predecessor edges of BB is marked with EDGE_EH. */