Lines Matching refs:cfg_hooks
45 static struct cfg_hooks *cfg_hooks; variable
51 cfg_hooks = &rtl_cfg_hooks; in rtl_register_cfg_hooks()
58 cfg_hooks = &cfg_layout_rtl_cfg_hooks; in cfg_layout_rtl_register_cfg_hooks()
66 cfg_hooks = &gimple_cfg_hooks; in gimple_register_cfg_hooks()
69 struct cfg_hooks
72 return *cfg_hooks; in get_cfg_hooks()
76 set_cfg_hooks (struct cfg_hooks new_cfg_hooks) in set_cfg_hooks()
78 *cfg_hooks = new_cfg_hooks; in set_cfg_hooks()
86 if (cfg_hooks == &gimple_cfg_hooks) in current_ir_type()
88 else if (cfg_hooks == &rtl_cfg_hooks) in current_ir_type()
90 else if (cfg_hooks == &cfg_layout_rtl_cfg_hooks) in current_ir_type()
282 if (cfg_hooks->verify_flow_info) in verify_flow_info()
283 err |= cfg_hooks->verify_flow_info (); in verify_flow_info()
301 if (cfg_hooks->dump_bb) in dump_bb()
302 cfg_hooks->dump_bb (outf, bb, indent, flags); in dump_bb()
342 if (!cfg_hooks->dump_bb_for_graph) in DEFINE_DEBUG_HASH_SET()
344 cfg_hooks->name); in DEFINE_DEBUG_HASH_SET()
350 cfg_hooks->dump_bb_for_graph (pp, bb); in DEFINE_DEBUG_HASH_SET()
385 if (!cfg_hooks->redirect_edge_and_branch) in redirect_edge_and_branch()
387 cfg_hooks->name); in redirect_edge_and_branch()
389 ret = cfg_hooks->redirect_edge_and_branch (e, dest); in redirect_edge_and_branch()
405 if (!cfg_hooks->can_remove_branch_p) in can_remove_branch_p()
407 cfg_hooks->name); in can_remove_branch_p()
412 return cfg_hooks->can_remove_branch_p (e); in can_remove_branch_p()
499 if (!cfg_hooks->redirect_edge_and_branch_force) in redirect_edge_and_branch_force()
501 cfg_hooks->name); in redirect_edge_and_branch_force()
506 ret = cfg_hooks->redirect_edge_and_branch_force (e, dest); in redirect_edge_and_branch_force()
537 if (!cfg_hooks->split_block) in split_block_1()
538 internal_error ("%s does not support split_block", cfg_hooks->name); in split_block_1()
540 new_bb = cfg_hooks->split_block (bb, i); in split_block_1()
603 if (!cfg_hooks->move_block_after) in move_block_after()
604 internal_error ("%s does not support move_block_after", cfg_hooks->name); in move_block_after()
606 ret = cfg_hooks->move_block_after (bb, after); in move_block_after()
616 if (!cfg_hooks->delete_basic_block) in delete_basic_block()
617 internal_error ("%s does not support delete_basic_block", cfg_hooks->name); in delete_basic_block()
619 cfg_hooks->delete_basic_block (bb); in delete_basic_block()
663 if (!cfg_hooks->split_edge) in split_edge()
664 internal_error ("%s does not support split_edge", cfg_hooks->name); in split_edge()
669 ret = cfg_hooks->split_edge (e); in split_edge()
741 if (!cfg_hooks->create_basic_block) in create_basic_block_1()
742 internal_error ("%s does not support create_basic_block", cfg_hooks->name); in create_basic_block_1()
744 ret = cfg_hooks->create_basic_block (head, end, after); in create_basic_block_1()
782 if (!cfg_hooks->can_merge_blocks_p) in can_merge_blocks_p()
783 internal_error ("%s does not support can_merge_blocks_p", cfg_hooks->name); in can_merge_blocks_p()
785 ret = cfg_hooks->can_merge_blocks_p (bb1, bb2); in can_merge_blocks_p()
793 if (!cfg_hooks->predict_edge) in predict_edge()
794 internal_error ("%s does not support predict_edge", cfg_hooks->name); in predict_edge()
796 cfg_hooks->predict_edge (e, predictor, probability); in predict_edge()
802 if (!cfg_hooks->predict_edge) in predicted_by_p()
803 internal_error ("%s does not support predicted_by_p", cfg_hooks->name); in predicted_by_p()
805 return cfg_hooks->predicted_by_p (bb, predictor); in predicted_by_p()
816 if (!cfg_hooks->merge_blocks) in merge_blocks()
817 internal_error ("%s does not support merge_blocks", cfg_hooks->name); in merge_blocks()
819 cfg_hooks->merge_blocks (a, b); in merge_blocks()
897 if (!cfg_hooks->make_forwarder_block) in make_forwarder_block()
899 cfg_hooks->name); in make_forwarder_block()
975 cfg_hooks->make_forwarder_block (fallthru); in make_forwarder_block()
985 if (cfg_hooks->tidy_fallthru_edge) in tidy_fallthru_edge()
986 cfg_hooks->tidy_fallthru_edge (e); in tidy_fallthru_edge()
1001 if (!cfg_hooks->tidy_fallthru_edge) in tidy_fallthru_edges()
1046 if (!cfg_hooks->force_nonfallthru) in force_nonfallthru()
1048 cfg_hooks->name); in force_nonfallthru()
1050 ret = cfg_hooks->force_nonfallthru (e); in force_nonfallthru()
1080 if (!cfg_hooks->can_duplicate_block_p) in can_duplicate_block_p()
1082 cfg_hooks->name); in can_duplicate_block_p()
1087 return cfg_hooks->can_duplicate_block_p (bb); in can_duplicate_block_p()
1102 if (!cfg_hooks->duplicate_block) in duplicate_block()
1104 cfg_hooks->name); in duplicate_block()
1111 new_bb = cfg_hooks->duplicate_block (bb, id); in duplicate_block()
1177 if (!cfg_hooks->block_ends_with_call_p) in block_ends_with_call_p()
1178 internal_error ("%s does not support block_ends_with_call_p", cfg_hooks->name); in block_ends_with_call_p()
1180 return (cfg_hooks->block_ends_with_call_p) (bb); in block_ends_with_call_p()
1188 if (!cfg_hooks->block_ends_with_condjump_p) in block_ends_with_condjump_p()
1190 cfg_hooks->name); in block_ends_with_condjump_p()
1192 return (cfg_hooks->block_ends_with_condjump_p) (bb); in block_ends_with_condjump_p()
1206 if (!cfg_hooks->flow_call_edges_add) in flow_call_edges_add()
1208 cfg_hooks->name); in flow_call_edges_add()
1210 return (cfg_hooks->flow_call_edges_add) (blocks); in flow_call_edges_add()
1220 && cfg_hooks->execute_on_growing_pred) in execute_on_growing_pred()
1221 cfg_hooks->execute_on_growing_pred (e); in execute_on_growing_pred()
1231 && cfg_hooks->execute_on_shrinking_pred) in execute_on_shrinking_pred()
1232 cfg_hooks->execute_on_shrinking_pred (e); in execute_on_shrinking_pred()
1241 if (cfg_hooks->flush_pending_stmts) in lv_flush_pending_stmts()
1242 cfg_hooks->flush_pending_stmts (e); in lv_flush_pending_stmts()
1258 gcc_assert (cfg_hooks->cfg_hook_duplicate_loop_body_to_header_edge); in cfg_hook_duplicate_loop_body_to_header_edge()
1259 return cfg_hooks->cfg_hook_duplicate_loop_body_to_header_edge ( in cfg_hook_duplicate_loop_body_to_header_edge()
1270 gcc_assert (cfg_hooks->extract_cond_bb_edges); in extract_cond_bb_edges()
1271 cfg_hooks->extract_cond_bb_edges (b, e1, e2); in extract_cond_bb_edges()
1280 if (cfg_hooks->lv_adjust_loop_header_phi) in lv_adjust_loop_header_phi()
1281 cfg_hooks->lv_adjust_loop_header_phi (first, second, new_block, e); in lv_adjust_loop_header_phi()
1291 gcc_assert (cfg_hooks->lv_add_condition_to_bb); in lv_add_condition_to_bb()
1292 cfg_hooks->lv_add_condition_to_bb (first, second, new_block, cond); in lv_add_condition_to_bb()
1446 gcc_assert (cfg_hooks->empty_block_p); in empty_block_p()
1447 return cfg_hooks->empty_block_p (bb); in empty_block_p()
1455 gcc_assert (cfg_hooks->split_block_before_cond_jump); in split_block_before_cond_jump()
1456 return cfg_hooks->split_block_before_cond_jump (bb); in split_block_before_cond_jump()
1554 gcc_assert (cfg_hooks->account_profile_record); in profile_record_account_profile()
1555 cfg_hooks->account_profile_record (bb, record); in profile_record_account_profile()