#include "config.h"#include "system.h"#include "rtl.h"#include "hard-reg-set.h"#include "basic-block.h"#include "insn-config.h"#include "recog.h"#include "toplev.h"#include "tm_p.h"

Go to the source code of this file.
Definition at line 702 of file cfganal.c.
Referenced by branch_prob(), note_prediction_to_br_prob(), one_pre_gcse_pass(), see_execute_LCM(), store_motion(), tree_estimate_probability(), and try_optimize_cfg().
| bool can_fallthru | ( | basic_block | src, | |
| basic_block | target | |||
| ) |
Definition at line 107 of file cfganal.c.
Referenced by expand_gimple_basic_block(), fixup_reorder_chain(), try_redirect_by_replacing_jump(), and try_simplify_condjump().
Definition at line 723 of file cfganal.c.
Referenced by estimate_probability(), execute_sink_code(), init_pre(), note_prediction_to_br_prob(), ssa_eliminate_dead_code(), store_motion(), and tree_estimate_probability().
Definition at line 462 of file cfganal.c.
Referenced by branch_prob(), perform_tree_ssa_dce(), pre_edge_lcm(), pre_edge_rev_lcm(), ssa_const_prop(), and ssa_eliminate_dead_code().
| int dfs_enumerate_from | ( | basic_block | bb, | |
| int | reverse, | |||
| bool * | predicate, | |||
| basic_block * | rslt, | |||
| int | rslt_max, | |||
| void * | data | |||
| ) |
Definition at line 1139 of file cfganal.c.
References abort, BB_VISITED, edge::dest, basic_block_def::flags, flags, free(), basic_block_def::pred, edge::pred_next, sp, edge::src, basic_block_def::succ, edge::succ_next, and xcalloc().
Referenced by add_loop(), find_path(), and get_loop_body().
| int find_edge_index | ( | struct edge_list * | edge_list, | |
| basic_block | pred, | |||
| basic_block | succ | |||
| ) |
Definition at line 406 of file cfganal.c.
Referenced by delete_unreachable_blocks(), and ssa_ccp_df_delete_unreachable_insns().
Definition at line 63 of file cfganal.c.
References active_insn_p(), GET_CODE, PATTERN, REG, REG_FUNCTION_VALUE_P, and XEXP.
Referenced by forwarder_block_p().
| int flow_call_edges_add | ( | sbitmap | blocks | ) |
| int flow_depth_first_order_compute | ( | int * | dfs_order, | |
| int * | rc_order | |||
| ) |
Definition at line 820 of file cfganal.c.
Referenced by df_analyse_1(), df_analyze_1(), flow_loops_find(), and vt_find_locations().
| static void flow_dfs_compute_reverse_add_bb | ( | depth_first_search_ds | data, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 1085 of file cfganal.c.
References basic_block_def::index, INVALID_BLOCK, SET_BIT, and depth_first_search_dsS::stack.
Referenced by connect_infinite_loops_to_exit(), and flow_dfs_compute_reverse_execute().
| static basic_block flow_dfs_compute_reverse_execute | ( | depth_first_search_ds | data | ) | [static] |
Definition at line 1099 of file cfganal.c.
References EXIT_BLOCK_PTR, flow_dfs_compute_reverse_add_bb(), FOR_BB_BETWEEN, basic_block_def::index, INVALID_BLOCK, NULL, basic_block_def::pred, edge::pred_next, edge::src, and TEST_BIT.
Referenced by connect_infinite_loops_to_exit().
| static void flow_dfs_compute_reverse_finish | ( | depth_first_search_ds | data | ) | [static] |
Definition at line 1128 of file cfganal.c.
References free(), and sbitmap_free.
Referenced by connect_infinite_loops_to_exit().
| static void flow_dfs_compute_reverse_init | ( | depth_first_search_ds | data | ) | [static] |
Definition at line 1063 of file cfganal.c.
References INVALID_BLOCK, last_basic_block, n_basic_blocks, sbitmap_alloc(), sbitmap_zero(), depth_first_search_dsS::stack, and xmalloc().
Referenced by connect_infinite_loops_to_exit().
Definition at line 644 of file cfganal.c.
References edge::dest, fprintf(), fputs(), i, and src.
Referenced by flow_loop_dump().
| void flow_preorder_transversal_compute | ( | int * | pot_order | ) |
Definition at line 923 of file cfganal.c.
References dest, edge::dest, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, FOR_EACH_BB, free(), i, basic_block_def::index, last_basic_block, n_basic_blocks, dfst_node::nnodes, dfst_node::node, node, NULL, sbitmap_alloc(), sbitmap_free, sbitmap_zero(), SET_BIT, sp, src, edge::src, stack, basic_block_def::succ, edge::succ_next, TEST_BIT, dfst_node::up, visited, xcalloc(), and xmalloc().
| void flow_reverse_top_sort_order_compute | ( | int * | rts_order | ) |
Definition at line 751 of file cfganal.c.
Referenced by df_analyse_1(), df_analyze_1(), and set_up_bb_rts_numbers().
| bool forwarder_block_p | ( | basic_block | bb | ) |
Definition at line 86 of file cfganal.c.
Referenced by cleanup_unconditional_jumps(), find_if_case_1(), fixup_reorder_chain(), notice_new_block(), outgoing_edges_match(), try_forward_edges(), and update_forwarder_flag().
Definition at line 500 of file cfganal.c.
Referenced by branch_prob(), one_pre_gcse_pass(), perform_tree_ssa_dce(), see_free_data_structures(), ssa_const_prop(), and store_motion().
Definition at line 134 of file cfganal.c.
Referenced by analyze_function(), bypass_conditional_jumps(), estimate_bb_frequencies(), identify_jump_threads(), mark_constant_function(), perform_tree_ssa_dce(), reorder_basic_blocks(), tracer(), tree_ssa_dominator_optimize(), and variable_tracking_main().
Definition at line 253 of file cfganal.c.
References asm_noperands(), CONST_OR_PURE_CALL_P, find_reg_note(), GET_CODE, INSN_P, MEM_VOLATILE_P, NULL, PATTERN, REG_ALWAYS_RETURN, REG_NORETURN, SIBLING_CALL_P, and XVECEXP.
Referenced by flow_call_edges_add(), rtl_flow_call_edges_add(), and tree_flow_call_edges_add().
| static void remove_fake_successors PARAMS | ( | (basic_block) | ) | [static] |
| static void flow_dfs_compute_reverse_add_bb PARAMS | ( | (depth_first_search_ds, basic_block) | ) | [static] |
| static void flow_dfs_compute_reverse_init PARAMS | ( | (depth_first_search_ds) | ) | [static] |
Definition at line 689 of file cfganal.c.
Referenced by branch_prob(), estimate_probability(), instrument_edges(), note_prediction_to_br_prob(), one_pre_gcse_pass(), store_motion(), and try_optimize_cfg().
| static void remove_fake_successors | ( | basic_block | bb | ) | [static] |
Definition at line 669 of file cfganal.c.
References EDGE_FAKE, edge::flags, remove_edge(), edge::succ, edge::succ_next, and tmp.
Referenced by remove_fake_edges().
1.5.6