-extern void estimate_probability PARAMS ((struct loops *));
-extern void expected_value_to_br_prob PARAMS ((void));
-
-/* In flow.c */
-extern void init_flow PARAMS ((void));
-extern void reorder_basic_blocks PARAMS ((void));
-extern void dump_bb PARAMS ((basic_block, FILE *));
-extern void debug_bb PARAMS ((basic_block));
-extern void debug_bb_n PARAMS ((int));
-extern void dump_regset PARAMS ((regset, FILE *));
-extern void debug_regset PARAMS ((regset));
-extern void allocate_reg_life_data PARAMS ((void));
-extern void allocate_bb_life_data PARAMS ((void));
-extern void expunge_block PARAMS ((basic_block));
-extern void expunge_block_nocompact PARAMS ((basic_block));
-extern basic_block alloc_block PARAMS ((void));
-extern void find_unreachable_blocks PARAMS ((void));
-extern void delete_noop_moves PARAMS ((rtx));
-extern basic_block redirect_edge_and_branch_force PARAMS ((edge, basic_block));
-extern basic_block force_nonfallthru PARAMS ((edge));
-extern bool redirect_edge_and_branch PARAMS ((edge, basic_block));
-extern rtx block_label PARAMS ((basic_block));
-extern bool forwarder_block_p PARAMS ((basic_block));
-extern bool purge_all_dead_edges PARAMS ((int));
-extern bool purge_dead_edges PARAMS ((basic_block));
-extern void find_sub_basic_blocks PARAMS ((basic_block));
-extern void find_many_sub_basic_blocks PARAMS ((sbitmap));
-extern bool can_fallthru PARAMS ((basic_block, basic_block));
-extern void flow_nodes_print PARAMS ((const char *, const sbitmap,
- FILE *));
-extern void flow_edge_list_print PARAMS ((const char *, const edge *,
- int, FILE *));
-extern void alloc_aux_for_block PARAMS ((basic_block, int));
-extern void alloc_aux_for_blocks PARAMS ((int));
-extern void clear_aux_for_blocks PARAMS ((void));
-extern void free_aux_for_blocks PARAMS ((void));
-extern void alloc_aux_for_edge PARAMS ((edge, int));
-extern void alloc_aux_for_edges PARAMS ((int));
-extern void clear_aux_for_edges PARAMS ((void));
-extern void free_aux_for_edges PARAMS ((void));
-
-/* This function is always defined so it can be called from the
- debugger, and it is declared extern so we don't get warnings about
- it being unused. */
-extern void verify_flow_info PARAMS ((void));
-extern int flow_loop_outside_edge_p PARAMS ((const struct loop *, edge));
-
-typedef struct conflict_graph_def *conflict_graph;
-
-/* Callback function when enumerating conflicts. The arguments are
- the smaller and larger regno in the conflict. Returns zero if
- enumeration is to continue, non-zero to halt enumeration. */
-typedef int (*conflict_graph_enum_fn) PARAMS ((int, int, void *));
-
-
-/* Prototypes of operations on conflict graphs. */
-
-extern conflict_graph conflict_graph_new
- PARAMS ((int));
-extern void conflict_graph_delete PARAMS ((conflict_graph));
-extern int conflict_graph_add PARAMS ((conflict_graph,
- int, int));
-extern int conflict_graph_conflict_p PARAMS ((conflict_graph,
- int, int));
-extern void conflict_graph_enum PARAMS ((conflict_graph, int,
- conflict_graph_enum_fn,
- void *));
-extern void conflict_graph_merge_regs PARAMS ((conflict_graph, int,
- int));
-extern void conflict_graph_print PARAMS ((conflict_graph, FILE*));
-extern conflict_graph conflict_graph_compute
- PARAMS ((regset,
- partition));
-extern bool mark_dfs_back_edges PARAMS ((void));
-extern void update_br_prob_note PARAMS ((basic_block));
-extern void fixup_abnormal_edges PARAMS ((void));
-extern bool control_flow_insn_p PARAMS ((rtx));
+extern bool maybe_hot_bb_p (const_basic_block);
+extern bool maybe_hot_edge_p (edge);
+extern bool probably_never_executed_bb_p (const_basic_block);
+extern bool optimize_bb_for_size_p (const_basic_block);
+extern bool optimize_bb_for_speed_p (const_basic_block);
+extern bool optimize_edge_for_size_p (edge);
+extern bool optimize_edge_for_speed_p (edge);
+extern bool optimize_function_for_size_p (struct function *);
+extern bool optimize_function_for_speed_p (struct function *);
+extern bool optimize_loop_for_size_p (struct loop *);
+extern bool optimize_loop_for_speed_p (struct loop *);
+extern bool optimize_loop_nest_for_size_p (struct loop *);
+extern bool optimize_loop_nest_for_speed_p (struct loop *);
+extern bool gimple_predicted_by_p (const_basic_block, enum br_predictor);
+extern bool rtl_predicted_by_p (const_basic_block, enum br_predictor);
+extern void gimple_predict_edge (edge, enum br_predictor, int);
+extern void rtl_predict_edge (edge, enum br_predictor, int);
+extern void predict_edge_def (edge, enum br_predictor, enum prediction);
+extern void guess_outgoing_edge_probabilities (basic_block);
+extern void remove_predictions_associated_with_edge (edge);
+extern bool edge_probability_reliable_p (const_edge);
+extern bool br_prob_note_reliable_p (const_rtx);
+extern bool predictable_edge_p (edge);
+
+/* In cfg.c */
+extern void dump_regset (regset, FILE *);
+extern void debug_regset (regset);
+extern void init_flow (struct function *);
+extern void debug_bb (basic_block);
+extern basic_block debug_bb_n (int);
+extern void dump_regset (regset, FILE *);
+extern void debug_regset (regset);
+extern void expunge_block (basic_block);
+extern void link_block (basic_block, basic_block);
+extern void unlink_block (basic_block);
+extern void compact_blocks (void);
+extern basic_block alloc_block (void);
+extern void alloc_aux_for_block (basic_block, int);
+extern void alloc_aux_for_blocks (int);
+extern void clear_aux_for_blocks (void);
+extern void free_aux_for_blocks (void);
+extern void alloc_aux_for_edge (edge, int);
+extern void alloc_aux_for_edges (int);
+extern void clear_aux_for_edges (void);
+extern void free_aux_for_edges (void);
+
+/* In cfganal.c */
+extern void find_unreachable_blocks (void);
+extern bool forwarder_block_p (const_basic_block);
+extern bool can_fallthru (basic_block, basic_block);
+extern bool could_fall_through (basic_block, basic_block);
+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);
+
+/* In cfgbuild.c. */
+extern void find_many_sub_basic_blocks (sbitmap);
+extern void rtl_make_eh_edge (sbitmap, basic_block, rtx);
+extern void find_basic_blocks (rtx);
+
+/* In cfgcleanup.c. */
+extern bool cleanup_cfg (int);
+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);
+
+/* In bb-reorder.c */
+extern void reorder_basic_blocks (void);