Home | History | Annotate | Download | only in gcc

Lines Matching defs:cfg_hooks

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