-#define redirect_edge_and_branch(e,b) cfg_hooks->redirect_edge_and_branch (e,b)
-#define redirect_edge_and_branch_force(e,b) cfg_hooks->redirect_edge_and_branch_force (e,b)
-#define split_block(e,i) cfg_hooks->split_block (e,i)
-#define delete_block(b) cfg_hooks->delete_block (b)
-#define split_edge(e) cfg_hooks->cfgh_split_edge (e)
-#define create_basic_block(h,e,a) cfg_hooks->create_basic_block (h,e,a)
-#define can_merge_blocks_p(a,b) cfg_hooks->can_merge_blocks_p (a,b)
-#define merge_blocks(a,b) cfg_hooks->merge_blocks (a,b)
+extern void verify_flow_info (void);
+extern void dump_bb (basic_block, FILE *, int);
+extern edge redirect_edge_and_branch (edge, basic_block);
+extern basic_block redirect_edge_and_branch_force (edge, basic_block);
+extern edge split_block (basic_block, void *);
+extern edge split_block_after_labels (basic_block);
+extern bool move_block_after (basic_block, basic_block);
+extern void delete_basic_block (basic_block);
+extern basic_block split_edge (edge);
+extern basic_block create_basic_block (void *, void *, basic_block);
+extern basic_block create_empty_bb (basic_block);
+extern bool can_merge_blocks_p (basic_block, basic_block);
+extern void merge_blocks (basic_block, basic_block);
+extern edge make_forwarder_block (basic_block, bool (*)(edge),
+ void (*) (basic_block));
+extern void tidy_fallthru_edge (edge);
+extern void tidy_fallthru_edges (void);
+extern void predict_edge (edge e, enum br_predictor predictor, int probability);
+extern bool predicted_by_p (basic_block bb, enum br_predictor predictor);
+extern bool can_duplicate_block_p (basic_block);
+extern basic_block duplicate_block (basic_block, edge);
+extern bool block_ends_with_call_p (basic_block bb);
+extern bool block_ends_with_condjump_p (basic_block bb);
+extern int flow_call_edges_add (sbitmap);
+extern void execute_on_growing_pred (edge);
+extern void execute_on_shrinking_pred (edge);