+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));
+
+/* 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));
+
+/* In dominance.c */
+
+enum cdi_direction
+{
+ CDI_DOMINATORS,
+ CDI_POST_DOMINATORS
+};
+
+extern void calculate_dominance_info PARAMS ((int *, sbitmap *,
+ enum cdi_direction));