GCC Middle and Back End API Reference
|
#include <cfghooks.h>
@verbatim Hooks for cfg representation specific functions.
Copyright (C) 2003-2013 Free Software Foundation, Inc. Contributed by Sebastian Pop s.pop @lap oste. net
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.
Only basic-block.h includes this.
void(* cfg_hooks::account_profile_record)(basic_block, int, struct profile_record *) |
Referenced by account_profile_record().
bool(* cfg_hooks::block_ends_with_call_p)(basic_block) |
Referenced by block_ends_with_call_p().
bool(* cfg_hooks::block_ends_with_condjump_p)(const_basic_block) |
Referenced by block_ends_with_condjump_p().
bool(* cfg_hooks::can_duplicate_block_p)(const_basic_block a) |
Referenced by can_duplicate_block_p().
bool(* cfg_hooks::can_merge_blocks_p)(basic_block a, basic_block b) |
Referenced by can_merge_blocks_p().
bool(* cfg_hooks::can_remove_branch_p)(const_edge) |
Referenced by can_remove_branch_p().
bool(* cfg_hooks::cfg_hook_duplicate_loop_to_header_edge)(struct loop *, edge, unsigned, sbitmap, edge, vec< edge > *, int) |
Referenced by cfg_hook_duplicate_loop_to_header_edge().
basic_block(* cfg_hooks::create_basic_block)(void *head, void *end, basic_block after) |
Referenced by create_basic_block().
void(* cfg_hooks::delete_basic_block)(basic_block) |
Referenced by delete_basic_block().
void(* cfg_hooks::dump_bb)(FILE *, basic_block, int, int) |
Referenced by dump_bb().
void(* cfg_hooks::dump_bb_for_graph)(pretty_printer *, basic_block) |
Referenced by dump_bb_for_graph().
basic_block(* cfg_hooks::duplicate_block)(basic_block a) |
Referenced by duplicate_block().
bool(* cfg_hooks::empty_block_p)(basic_block) |
Referenced by empty_block_p().
void(* cfg_hooks::execute_on_growing_pred)(edge) |
Referenced by execute_on_growing_pred().
void(* cfg_hooks::execute_on_shrinking_pred)(edge) |
Referenced by execute_on_shrinking_pred().
void(* cfg_hooks::extract_cond_bb_edges)(basic_block, edge *, edge *) |
Referenced by extract_cond_bb_edges().
int(* cfg_hooks::flow_call_edges_add)(sbitmap) |
Referenced by flow_call_edges_add().
void(* cfg_hooks::flush_pending_stmts)(edge) |
Referenced by lv_flush_pending_stmts().
basic_block(* cfg_hooks::force_nonfallthru)(edge) |
Referenced by force_nonfallthru().
void(* cfg_hooks::lv_add_condition_to_bb)(basic_block, basic_block, basic_block, void *) |
Referenced by lv_add_condition_to_bb().
void(* cfg_hooks::lv_adjust_loop_header_phi)(basic_block, basic_block, basic_block, edge) |
Referenced by lv_adjust_loop_header_phi().
void(* cfg_hooks::make_forwarder_block)(edge) |
Referenced by make_forwarder_block().
void(* cfg_hooks::merge_blocks)(basic_block a, basic_block b) |
Referenced by merge_blocks().
bool(* cfg_hooks::move_block_after)(basic_block b, basic_block a) |
Referenced by move_block_after().
const char* cfg_hooks::name |
Referenced by block_ends_with_call_p(), block_ends_with_condjump_p(), can_duplicate_block_p(), can_merge_blocks_p(), can_remove_branch_p(), create_basic_block(), delete_basic_block(), dump_bb_for_graph(), duplicate_block(), flow_call_edges_add(), force_nonfallthru(), make_forwarder_block(), merge_blocks(), move_block_after(), predict_edge(), predicted_by_p(), redirect_edge_and_branch(), redirect_edge_and_branch_force(), split_block(), and split_edge().
void(* cfg_hooks::predict_edge)(edge e, enum br_predictor predictor, int probability) |
Referenced by predict_edge(), and predicted_by_p().
bool(* cfg_hooks::predicted_by_p)(const_basic_block bb, enum br_predictor predictor) |
Referenced by predicted_by_p().
edge(* cfg_hooks::redirect_edge_and_branch)(edge e, basic_block b) |
Referenced by redirect_edge_and_branch().
basic_block(* cfg_hooks::redirect_edge_and_branch_force)(edge, basic_block) |
Referenced by redirect_edge_and_branch_force().
basic_block(* cfg_hooks::split_block)(basic_block b, void *i) |
Referenced by split_block().
basic_block(* cfg_hooks::split_block_before_cond_jump)(basic_block) |
Referenced by split_block_before_cond_jump().
basic_block(* cfg_hooks::split_edge)(edge) |
Referenced by split_edge().
void(* cfg_hooks::tidy_fallthru_edge)(edge) |
Referenced by tidy_fallthru_edge(), and tidy_fallthru_edges().
int(* cfg_hooks::verify_flow_info)(void) |
Referenced by verify_flow_info().