#include "bitmap.h"#include "sbitmap.h"#include "varray.h"#include "partition.h"#include "hard-reg-set.h"

Go to the source code of this file.
Data Types | |
| type | edge_def |
| type | basic_block_def |
| type | loop |
| type | loops |
| type | loops::cfg |
| type | ce_if_block |
| type | edge_list |
Defines | |
| #define | INIT_REG_SET(HEAD) bitmap_initialize (HEAD, 1) |
| #define | CLEAR_REG_SET(HEAD) bitmap_clear (HEAD) |
| #define | COPY_REG_SET(TO, FROM) bitmap_copy (TO, FROM) |
| #define | REG_SET_EQUAL_P(A, B) bitmap_equal_p (A, B) |
| #define | AND_REG_SET(TO, FROM) bitmap_operation (TO, TO, FROM, BITMAP_AND) |
| #define | AND_COMPL_REG_SET(TO, FROM) bitmap_operation (TO, TO, FROM, BITMAP_AND_COMPL) |
| #define | IOR_REG_SET(TO, FROM) bitmap_operation (TO, TO, FROM, BITMAP_IOR) |
| #define | XOR_REG_SET(TO, FROM) bitmap_operation (TO, TO, FROM, BITMAP_XOR) |
| #define | IOR_AND_COMPL_REG_SET(TO, FROM1, FROM2) bitmap_ior_and_compl (TO, FROM1, FROM2) |
| #define | CLEAR_REGNO_REG_SET(HEAD, REG) bitmap_clear_bit (HEAD, REG) |
| #define | SET_REGNO_REG_SET(HEAD, REG) bitmap_set_bit (HEAD, REG) |
| #define | REGNO_REG_SET_P(TO, REG) bitmap_bit_p (TO, REG) |
| #define | REG_SET_TO_HARD_REG_SET(TO, FROM) |
| #define | EXECUTE_IF_SET_IN_REG_SET(REGSET, MIN, REGNUM, CODE) EXECUTE_IF_SET_IN_BITMAP (REGSET, MIN, REGNUM, CODE) |
| #define | EXECUTE_IF_AND_COMPL_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, CODE) EXECUTE_IF_AND_COMPL_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, CODE) |
| #define | EXECUTE_IF_AND_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, CODE) EXECUTE_IF_AND_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, CODE) |
| #define | OBSTACK_ALLOC_REG_SET(OBSTACK) BITMAP_OBSTACK_ALLOC (OBSTACK) |
| #define | INITIALIZE_REG_SET(HEAD) bitmap_initialize (&HEAD, 1) |
| #define | FREE_REG_SET(REGSET) BITMAP_FREE(REGSET) |
| #define | INIT_ONCE_REG_SET() BITMAP_INIT_ONCE () |
| #define | MAX_REGNO_REG_SET(NUM_REGS, NEW_P, RENUMBER_P) |
| #define | EDGE_FALLTHRU 1 |
| #define | EDGE_ABNORMAL 2 |
| #define | EDGE_ABNORMAL_CALL 4 |
| #define | EDGE_EH 8 |
| #define | EDGE_FAKE 16 |
| #define | EDGE_DFS_BACK 32 |
| #define | EDGE_CAN_FALLTHRU 64 |
| #define | EDGE_COMPLEX (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL | EDGE_EH) |
| #define | BB_FREQ_MAX 10000 |
| #define | BB_DIRTY 1 |
| #define | BB_NEW 2 |
| #define | BB_REACHABLE 4 |
| #define | BB_VISITED 8 |
| #define | BASIC_BLOCK(N) (VARRAY_BB (basic_block_info, (N))) |
| #define | FOR_BB_BETWEEN(BB, FROM, TO, DIR) for (BB = FROM; BB != TO; BB = BB->DIR) |
| #define | FOR_EACH_BB(BB) FOR_BB_BETWEEN (BB, ENTRY_BLOCK_PTR->next_bb, EXIT_BLOCK_PTR, next_bb) |
| #define | FOR_EACH_BB_REVERSE(BB) FOR_BB_BETWEEN (BB, EXIT_BLOCK_PTR->prev_bb, ENTRY_BLOCK_PTR, prev_bb) |
| #define | FOR_ALL_BB(BB) for (BB = ENTRY_BLOCK_PTR; BB; BB = BB->next_bb) |
| #define | REG_BLOCK_UNKNOWN -1 |
| #define | REG_BLOCK_GLOBAL -2 |
| #define | REG_BASIC_BLOCK(N) (VARRAY_REG (reg_n_info, N)->basic_block) |
| #define | BLOCK_HEAD(B) (BASIC_BLOCK (B)->head) |
| #define | BLOCK_END(B) (BASIC_BLOCK (B)->end) |
| #define | BLOCK_HEAD_TREE(B) (BASIC_BLOCK (B)->head_tree) |
| #define | BLOCK_END_TREE(B) (BASIC_BLOCK (B)->end_tree) |
| #define | ENTRY_BLOCK (-1) |
| #define | EXIT_BLOCK (-2) |
| #define | INVALID_BLOCK (-3) |
| #define | ENTRY_BLOCK_PTR (&entry_exit_blocks[0]) |
| #define | EXIT_BLOCK_PTR (&entry_exit_blocks[1]) |
| #define | BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0) |
| #define | set_block_for_insn(INSN, BB) (BLOCK_FOR_INSN (INSN) = BB) |
| #define | EDGE_INDEX_NO_EDGE -1 |
| #define | EDGE_INDEX(el, pred, succ) (find_edge_index ((el), (pred), (succ))) |
| #define | INDEX_EDGE_PRED_BB(el, index) ((el)->index_to_edge[(index)]->src) |
| #define | INDEX_EDGE_SUCC_BB(el, index) ((el)->index_to_edge[(index)]->dest) |
| #define | INDEX_EDGE(el, index) ((el)->index_to_edge[(index)]) |
| #define | NUM_EDGES(el) ((el)->num_edges) |
| #define | FALLTHRU_EDGE(bb) |
| #define | BRANCH_EDGE(bb) |
| #define | EDGE_FREQUENCY(e) |
| #define | EDGE_CRITICAL_P(e) |
| #define | PROP_DEATH_NOTES 1 |
| #define | PROP_LOG_LINKS 2 |
| #define | PROP_REG_INFO 4 |
| #define | PROP_KILL_DEAD_CODE 8 |
| #define | PROP_SCAN_DEAD_CODE 16 |
| #define | PROP_ALLOW_CFG_CHANGES 32 |
| #define | PROP_AUTOINC 64 |
| #define | PROP_EQUAL_NOTES 128 |
| #define | PROP_SCAN_DEAD_STORES 256 |
| #define | PROP_FINAL |
| #define | CLEANUP_EXPENSIVE 1 |
| #define | CLEANUP_CROSSJUMP 2 |
| #define | CLEANUP_POST_REGSTACK 4 |
| #define | CLEANUP_PRE_SIBCALL 8 |
| #define | CLEANUP_PRE_LOOP 16 |
| #define | CLEANUP_UPDATE_LIFE 32 |
| #define | CLEANUP_THREADING 64 |
| #define | CLEANUP_NO_INSN_DEL 128 |
| #define | LOOP_TREE 1 |
| #define | LOOP_PRE_HEADER 2 |
| #define | LOOP_ENTRY_EDGES 4 |
| #define | LOOP_EXIT_EDGES 8 |
| #define | LOOP_EDGES (LOOP_ENTRY_EDGES | LOOP_EXIT_EDGES) |
| #define | LOOP_ALL 15 |
| #define | VLS_EXPECT_PREHEADERS 1 |
| #define | VLS_EXPECT_SIMPLE_LATCHES 2 |
Typedefs | |
| typedef bitmap_head | regset_head |
| typedef bitmap | regset |
| typedef HOST_WIDEST_INT | gcov_type |
| typedef struct edge_def * | edge |
| typedef struct basic_block_def * | basic_block |
| typedef struct dominance_info * | dominance_info |
| typedef struct ce_if_block | ce_if_block_t |
| typedef struct conflict_graph_def * | conflict_graph |
| typedef int conflict_graph_enum_fn | PARAMS ((int, int, void *)) |
Enumerations | |
| enum | update_life_extent { UPDATE_LIFE_LOCAL = 0, UPDATE_LIFE_GLOBAL = 1, UPDATE_LIFE_GLOBAL_RM_NOTES = 2, UPDATE_LIFE_LOCAL = 0, UPDATE_LIFE_GLOBAL = 1, UPDATE_LIFE_GLOBAL_RM_NOTES = 2, UPDATE_LIFE_LOCAL = 0, UPDATE_LIFE_GLOBAL = 1, UPDATE_LIFE_GLOBAL_RM_NOTES = 2, UPDATE_LIFE_LOCAL = 0, UPDATE_LIFE_GLOBAL = 1, UPDATE_LIFE_GLOBAL_RM_NOTES = 2 } |
| enum | cdi_direction { CDI_DOMINATORS, CDI_POST_DOMINATORS, CDI_DOMINATORS, CDI_POST_DOMINATORS, CDI_DOMINATORS, CDI_POST_DOMINATORS, CDI_DOMINATORS, CDI_POST_DOMINATORS } |
Functions/Subroutines | |
| void reg_set_to_hard_reg_set | PARAMS ((HARD_REG_SET *, bitmap)) |
| GTY (()) rtx label_value_list | |
| void compute_bb_for_insn | PARAMS ((void)) |
| void update_bb_for_insn | PARAMS ((basic_block)) |
| void free_basic_block_vars | PARAMS ((int)) |
| edge split_block | PARAMS ((basic_block, rtx)) |
| basic_block split_edge | PARAMS ((edge)) |
| void insert_insn_on_edge | PARAMS ((rtx, edge)) |
| int flow_call_edges_add | PARAMS ((sbitmap)) |
| edge cached_make_edge | PARAMS ((sbitmap *, basic_block, basic_block, int)) |
| edge unchecked_make_edge | PARAMS ((basic_block, basic_block, int)) |
| void redirect_edge_succ | PARAMS ((edge, basic_block)) |
| basic_block create_basic_block_structure | PARAMS ((rtx, rtx, rtx, basic_block)) |
| basic_block create_basic_block | PARAMS ((rtx, rtx, basic_block)) |
| void merge_blocks_nomove | PARAMS ((basic_block, basic_block)) |
| void tidy_fallthru_edge | PARAMS ((edge, basic_block, basic_block)) |
| void flow_reverse_top_sort_order_compute | PARAMS ((int *)) |
| int flow_depth_first_order_compute | PARAMS ((int *, int *)) |
| void dump_edge_info | PARAMS ((FILE *, edge, int)) |
| int flow_loops_find | PARAMS ((struct loops *, int flags)) |
| void flow_loops_free | PARAMS ((struct loops *)) |
| void flow_loops_dump | PARAMS ((const struct loops *, FILE *, void(*)(const struct loop *, FILE *, int), int)) |
| void flow_loop_dump | PARAMS ((const struct loop *, FILE *, void(*)(const struct loop *, FILE *, int), int)) |
| int flow_loop_scan | PARAMS ((struct loops *, struct loop *, int)) |
| void flow_loop_tree_node_add | PARAMS ((struct loop *, struct loop *)) |
| void flow_loop_tree_node_remove | PARAMS ((struct loop *)) |
| void free_edge_list | PARAMS ((struct edge_list *)) |
| void print_edge_list | PARAMS ((FILE *, struct edge_list *)) |
| int find_edge_index | PARAMS ((struct edge_list *, basic_block, basic_block)) |
| void life_analysis | PARAMS ((rtx, FILE *, int)) |
| int update_life_info | PARAMS ((sbitmap, enum update_life_extent, int)) |
| int update_life_info_in_dirty_blocks | PARAMS ((enum update_life_extent, int)) |
| int count_or_remove_death_notes | PARAMS ((sbitmap, int)) |
| int propagate_block | PARAMS ((basic_block, regset, regset, regset, int)) |
| rtx propagate_one_insn | PARAMS ((struct propagate_block_info *, rtx)) |
| void free_propagate_block_info | PARAMS ((struct propagate_block_info *)) |
| struct edge_list *pre_edge_lcm | PARAMS ((FILE *, int, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap **, sbitmap **)) |
| void compute_available | PARAMS ((sbitmap *, sbitmap *, sbitmap *, sbitmap *)) |
| void dump_bb | PARAMS ((basic_block, FILE *)) |
| void dump_regset | PARAMS ((regset, FILE *)) |
| void debug_regset | PARAMS ((regset)) |
| int delete_noop_moves | PARAMS ((rtx)) |
| void flow_nodes_print | PARAMS ((const char *, const sbitmap, FILE *)) |
| void flow_edge_list_print | PARAMS ((const char *, const edge *, int, FILE *)) |
| void alloc_aux_for_block | PARAMS ((basic_block, int)) |
| void alloc_aux_for_edge | PARAMS ((edge, int)) |
| bool flow_loop_outside_edge_p | PARAMS ((const struct loop *, edge)) |
| bool flow_loop_nested_p | PARAMS ((const struct loop *, const struct loop *)) |
| bool flow_bb_inside_loop_p | PARAMS ((const struct loop *, const basic_block)) |
| basic_block *get_loop_body | PARAMS ((const struct loop *)) |
| int dfs_enumerate_from | PARAMS ((basic_block, int, bool(*)(basic_block, void *), basic_block *, int, void *)) |
| void add_bb_to_loop | PARAMS ((basic_block, struct loop *)) |
| void verify_loop_structure | PARAMS ((struct loops *, int)) |
| void conflict_graph_delete | PARAMS ((conflict_graph)) |
| int conflict_graph_add | PARAMS ((conflict_graph, int, int)) |
| void conflict_graph_enum | PARAMS ((conflict_graph, int, conflict_graph_enum_fn, void *)) |
| void conflict_graph_print | PARAMS ((conflict_graph, FILE *)) |
| conflict_graph conflict_graph_compute | PARAMS ((regset, partition)) |
| bool can_hoist_insn_p | PARAMS ((rtx, rtx, regset)) |
| rtx hoist_insn_after | PARAMS ((rtx, rtx, rtx, rtx)) |
| rtx hoist_insn_to_edge | PARAMS ((rtx, edge, rtx, rtx)) |
| dominance_info calculate_dominance_info | PARAMS ((enum cdi_direction)) |
| void free_dominance_info | PARAMS ((dominance_info)) |
| basic_block nearest_common_dominator | PARAMS ((dominance_info, basic_block, basic_block)) |
| basic_block get_immediate_dominator | PARAMS ((dominance_info, basic_block)) |
| int get_dominated_by | PARAMS ((dominance_info, basic_block, basic_block **)) |
| void iterate_fix_dominators | PARAMS ((dominance_info, basic_block *, int)) |
Variables | |
| int | n_basic_blocks |
| int | last_basic_block |
| int | n_edges |
| varray_type | basic_block_info |
| regset | regs_live_at_setjmp |
| struct obstack | flow_obstack |
| struct basic_block_def | entry_exit_blocks [2] |
| #define AND_COMPL_REG_SET | ( | TO, | |||
| FROM | ) | bitmap_operation (TO, TO, FROM, BITMAP_AND_COMPL) |
Definition at line 52 of file basic-block.h.
Referenced by conflict_graph_compute(), emit_colors(), finish_spills(), and update_equiv_regs().
| #define AND_REG_SET | ( | TO, | |||
| FROM | ) | bitmap_operation (TO, TO, FROM, BITMAP_AND) |
Definition at line 49 of file basic-block.h.
Referenced by conflict_graph_compute(), and thread_jump().
| #define BASIC_BLOCK | ( | N | ) | (VARRAY_BB (basic_block_info, (N))) |
Definition at line 256 of file basic-block.h.
Referenced by add_exit_phis_var(), apply_opt_in_copies(), associate_equivalences_with_edges(), block_alloc(), block_at_edge_of_live_range_p(), calculate_global_regs_live(), calculate_live_on_exit(), clear_log_links(), collect_dfa_stats(), combine_instructions(), compact_blocks(), compute_defs_uses_and_gen(), compute_dominance_frontiers_1(), compute_global_livein(), compute_rvuse_and_antic_safe(), copy_phi_node_args(), copy_src_to_dest(), count_or_remove_death_notes(), create_basic_block_structure(), create_bb(), debug_bb_n(), debug_tree_bb_n(), df_bb_refs_delete(), df_chain_bb_reset(), df_chain_create_bb(), df_compact_blocks(), df_delete_basic_block(), df_iterative_dataflow(), df_lr_bb_local_compute(), df_rd_bb_local_compute(), df_refs_record(), df_rescan_blocks(), df_ri_bb_compute(), df_ru_bb_local_compute(), df_set_blocks(), df_ur_bb_local_compute(), df_urec_bb_local_compute(), expunge_block(), find_idf(), find_if_case_1(), find_uses_to_rename(), fix_recovery_cfg(), fixup_reorder_chain(), flow_call_edges_add(), flow_loops_find(), get_bb_copy(), get_bb_original(), insert_one_insn(), insert_phi_node(), insert_phi_nodes(), insert_phi_nodes_for(), insert_updated_phi_nodes_for(), iterative_dataflow(), iterative_dataflow_bitmap(), iterative_dataflow_sbitmap(), label_to_block(), label_to_block_fn(), link_btr_uses(), live_worklist(), loop_commit_inserts(), make_edges(), make_equivalent_phi_alternatives_equivalent(), make_regs_equivalent_over_bad_edges(), mark_target_live_regs(), migrate_btr_defs(), nearest_common_dominator_for_set(), nearest_common_dominator_of_uses(), predict_paths_leading_to(), print_loop_ir(), print_rtl_graph_with_bb(), process_note_prediction(), propagate_freq(), prune_unused_phi_nodes(), ra_debug_bbi(), rename_block(), rename_variables(), rtl_flow_call_edges_add(), set_livein_block(), ssa_eliminate_dead_code(), thread_through_all_blocks(), tree_duplicate_loop_to_header_edge(), tree_flow_call_edges_add(), tree_purge_all_dead_eh_edges(), update_life_info(), verify_flow_info(), and visit_phi_node().
| #define BB_DIRTY 1 |
Definition at line 235 of file basic-block.h.
Referenced by add_insn_after(), add_insn_before(), apply_change_group(), cfg_layout_redirect_edge_and_branch(), combine_instructions(), confirm_change_group(), emit_insn_after_1(), merge_blocks_move_predecessor_nojumps(), purge_dead_edges(), remove_insn(), reorder_insns(), rtl_redirect_edge_and_branch(), rtl_redirect_edge_and_branch_force(), rtl_split_block(), split_block(), struct_equiv_init(), try_crossjump_bb(), try_crossjump_to_edge(), try_forward_edges(), and update_life_info_in_dirty_blocks().
| #define BB_FREQ_MAX 10000 |
Definition at line 232 of file basic-block.h.
Referenced by average_num_loop_insns(), bb_to_key(), compute_alignments(), counts_to_freqs(), estimate_bb_frequencies(), expensive_function_p(), maybe_hot_bb_p(), and probably_cold_bb_p().
| #define BB_NEW 2 |
Definition at line 236 of file basic-block.h.
Referenced by create_basic_block_structure(), and create_bb().
| #define BB_REACHABLE 4 |
Definition at line 237 of file basic-block.h.
Referenced by delete_unreachable_blocks(), find_unreachable_blocks(), and ssa_ccp_df_delete_unreachable_insns().
| #define BB_VISITED 8 |
Definition at line 300 of file basic-block.h.
Referenced by block_alloc(), hash_scan_set(), and insert_one_insn().
Definition at line 303 of file basic-block.h.
Definition at line 299 of file basic-block.h.
Referenced by block_alloc(), copy_src_to_dest(), insert_one_insn(), and mark_target_live_regs().
Definition at line 302 of file basic-block.h.
| #define BLOCK_NUM | ( | INSN | ) | (BLOCK_FOR_INSN (INSN)->index + 0) |
Definition at line 317 of file basic-block.h.
Referenced by build_store_vectors(), canon_list_insert(), compute_ae_gen(), compute_local_properties(), compute_transp(), def_reaches_here_p(), expr_reaches_here_p_work(), find_avail_set(), follow_def_use_chains(), handle_rd_kill_set(), hash_scan_set(), insert_expr_in_table(), insert_set_in_table(), mark_set_1(), pre_insert_copy_insn(), record_last_mem_set_info(), record_one_set(), schedule_ebbs(), see_analyze_merged_def_local_prop(), see_analyze_unmerged_def_local_prop(), see_analyze_use_local_prop(), see_handle_relevant_defs(), see_set_prop_merged_def(), see_set_prop_unmerged_def(), see_set_prop_unmerged_use(), and see_store_reference_and_extension().
| #define BRANCH_EDGE | ( | bb | ) |
Value:
((bb)->succ->flags & EDGE_FALLTHRU \ ? (bb)->succ->succ_next : (bb)->succ)
Definition at line 600 of file basic-block.h.
Referenced by bfin_discover_loop(), combine_predictions_for_insn(), compute_branch_probabilities(), compute_outgoing_frequencies(), condjump_equiv_p(), dead_or_predicable(), find_implicit_sets(), mt_reorg_loops(), outgoing_edges_match(), purge_dead_edges(), rtl_verify_flow_info_1(), thread_jump(), try_simplify_condjump(), unswitch_loop(), unswitch_single_loop(), update_br_prob_note(), and verify_flow_info().
| #define CLEANUP_CROSSJUMP 2 |
Definition at line 648 of file basic-block.h.
Referenced by rest_of_compilation(), rest_of_handle_if_after_reload(), rest_of_handle_stack_adjustments(), rest_of_handle_stack_regs(), rest_of_rtl_seqabstr(), rtl_seqabstr(), and try_optimize_cfg().
| #define CLEANUP_EXPENSIVE 1 |
Definition at line 646 of file basic-block.h.
Referenced by branch_prob(), branch_target_load_optimize(), cleanup_cfg(), merge_blocks(), merge_blocks_move(), reg_alloc(), rest_of_compilation(), rest_of_handle_cfg(), rest_of_handle_combine(), rest_of_handle_cse(), rest_of_handle_cse2(), rest_of_handle_flow2(), rest_of_handle_gcse(), rest_of_handle_if_after_reload(), rest_of_handle_if_conversion(), rest_of_handle_jump2(), rest_of_handle_jump_bypass(), rest_of_handle_life(), rest_of_handle_loop2(), rest_of_handle_regmove(), rest_of_handle_reorder_blocks(), rest_of_handle_sched2(), rest_of_handle_see(), rest_of_handle_stack_adjustments(), rest_of_handle_stack_regs(), rest_of_handle_tracer(), rest_of_handle_value_profile_transformations(), rest_of_handle_web(), rest_of_rtl_seqabstr(), rtl_loop_done(), rtl_seqabstr(), tracer(), try_optimize_cfg(), and update_life_info().
| #define CLEANUP_NO_INSN_DEL 128 |
Definition at line 657 of file basic-block.h.
Referenced by cleanup_cfg(), finish_eh_generation(), and rest_of_handle_eh().
| #define CLEANUP_POST_REGSTACK 4 |
Definition at line 649 of file basic-block.h.
Referenced by death_notes_match_p(), insns_match_p(), old_insns_match_p(), rest_of_compilation(), rest_of_handle_stack_regs(), rtx_equiv_p(), and struct_equiv_init().
| #define CLEANUP_PRE_LOOP 16 |
Definition at line 653 of file basic-block.h.
Referenced by finish_eh_generation(), optimize_sibling_and_tail_recursive_calls(), rest_of_compilation(), rest_of_handle_cse(), rest_of_handle_eh(), rest_of_handle_gcse(), rest_of_handle_jump2(), and try_forward_edges().
| #define CLEANUP_PRE_SIBCALL 8 |
Definition at line 651 of file basic-block.h.
Referenced by cleanup_cfg(), merge_blocks(), optimize_sibling_and_tail_recursive_calls(), rest_of_compilation(), and try_optimize_cfg().
| #define CLEANUP_THREADING 64 |
Definition at line 656 of file basic-block.h.
Referenced by rest_of_compilation(), rest_of_handle_cfg(), rest_of_handle_jump2(), rest_of_handle_life(), try_forward_edges(), and try_optimize_cfg().
| #define CLEANUP_UPDATE_LIFE 32 |
Definition at line 655 of file basic-block.h.
Referenced by cleanup_cfg(), rest_of_compilation(), rest_of_handle_combine(), rest_of_handle_if_after_reload(), rest_of_handle_life(), rest_of_handle_regmove(), rest_of_handle_reorder_blocks(), rest_of_handle_sms(), rest_of_handle_stack_adjustments(), rest_of_rtl_seqabstr(), rtl_seqabstr(), thread_jump(), and try_optimize_cfg().
| #define CLEAR_REG_SET | ( | HEAD | ) | bitmap_clear (HEAD) |
Definition at line 40 of file basic-block.h.
Referenced by build_insn_chain(), calculate_global_regs_live(), clear_regs_live_in_seq(), collect_pattern_seqs(), compute_coalesced_reg_partition(), conflict_graph_compute(), free_deps(), insert_one_insn(), load_mems(), order_regs_for_reload(), propagate_one_insn(), reload(), reload_as_needed(), reset_opr_set_tables(), sched_analyze_insn(), struct_equiv_block_eq(), thread_jump(), update_equiv_regs(), and update_life_info().
| #define CLEAR_REGNO_REG_SET | ( | HEAD, | |||
| REG | ) | bitmap_clear_bit (HEAD, REG) |
Definition at line 66 of file basic-block.h.
Referenced by assign_reg_reg_set(), finish_spills(), mark_effect(), mark_elimination(), mark_set_1(), maybe_fix_stack_asms(), propagate_block(), reg_dies(), reload(), sched_analyze_insn(), struct_equiv_init(), and update_equiv_regs().
| #define COPY_REG_SET | ( | TO, | |||
| FROM | ) | bitmap_copy (TO, FROM) |
Definition at line 43 of file basic-block.h.
Referenced by build_insn_chain(), calculate_global_regs_live(), cfg_layout_duplicate_bb(), cfg_layout_split_edge(), clear_regs_live_in_seq(), collect_pattern_seqs(), conflict_graph_compute(), dead_or_predicable(), fix_crossing_conditional_branches(), force_nonfallthru_and_redirect(), insert_one_insn(), merge_if_block(), rtl_split_block(), rtl_split_edge(), split_block(), split_edge(), struct_equiv_init(), and update_life_info().
| #define EDGE_ABNORMAL 2 |
Definition at line 140 of file basic-block.h.
Referenced by add_phi_arg(), analyze_edges_for_bb(), bb_has_well_behaved_predecessors(), branch_prob(), can_copy_bbs_p(), candidate_bb_for_phi_optimization(), canonicalize_loop_headers(), coalesce_abnormal_edges(), commit_one_edge_insertion(), compute_antic(), compute_pre_data(), construct_exit_block(), cprop_into_successor_phis(), create_new_def_for(), dom_opt_finalize_block(), eliminate_phi(), erase_matching_seqs(), expand_gimple_basic_block(), expand_gimple_tailcall(), find_control_dependence(), find_spanning_tree(), fix_phi_uses(), fixup_abnormal_edges(), flow_loops_find(), force_nonfallthru_and_redirect(), global_conflicts(), has_abnormal_incoming_edge_p(), has_abnormal_outgoing_edge_p(), hoist_insn_to_edge(), if_convertible_bb_p(), init_pre(), insert_edge_copies(), insert_extra_phis(), insert_insn_end_bb(), insert_insn_end_bb_new(), insert_insn_on_edge(), insert_store(), instrument_edges(), live_in_edge(), loop_suitable_for_sm(), make_abnormal_goto_edges(), make_edges(), make_eh_edge(), make_goto_expr_edges(), make_regs_equivalent_over_bad_edges(), optimize_unexecutable_edges(), pre_edge_insert(), print_rtl_graph_with_bb(), process_assert_insertions_for(), propagate_rhs_into_lhs(), purge_dead_edges(), purge_dead_tablejump_edges(), redirect_edges(), remove_forwarder_block(), replace_immediate_uses(), replace_phi_args_in(), replace_uses_by(), rewrite_to_new_ssa_names_bb(), rewrite_update_init_block(), rewrite_update_phi_arguments(), rewrite_virtual_phi_arguments(), rtl_make_eh_edge(), rtl_split_edge(), rtl_verify_flow_info_1(), see_pre_insert_extensions(), simulate_block(), sink_code_in_bb(), split_critical_edges(), split_edge(), split_pattern_seq(), ssa_rewrite_initialize_block(), ssa_rewrite_phi_arguments(), store_motion(), tree_can_merge_blocks_p(), tree_find_edge_insert_loc(), tree_forwarder_block_p(), tree_purge_dead_abnormal_call_edges(), tree_redirect_edge_and_branch(), tree_split_edge(), tree_ssa_phiopt(), tree_verify_flow_info(), try_crossjump_to_edge(), VEC(), vect_analyze_loop_form(), verify_flow_info(), and verify_phi_args().
| #define EDGE_ABNORMAL_CALL 4 |
Definition at line 142 of file basic-block.h.
Referenced by branch_prob(), cfg_layout_redirect_edge_and_branch(), copyprop_hardreg_forward(), find_spanning_tree(), fixup_abnormal_edges(), if_convertible_bb_p(), make_edges(), make_eh_edge(), make_reorder_chain_1(), purge_dead_edges(), redirect_edge_and_branch(), rtl_make_eh_edge(), rtl_redirect_edge_and_branch(), rtl_verify_flow_info_1(), tree_redirect_edge_and_branch(), and verify_flow_info().
| #define EDGE_CAN_FALLTHRU 64 |
Definition at line 147 of file basic-block.h.
Referenced by connect_traces(), find_traces_1_round(), force_nonfallthru_and_redirect(), rotate_loop(), rtl_verify_flow_info_1(), and set_edge_can_fallthru_flag().
| #define EDGE_COMPLEX (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL | EDGE_EH) |
Definition at line 150 of file basic-block.h.
Referenced by analyze_insns_in_loop(), begin_schedule_ready(), block_jumps_and_fallthru_p(), bypass_block(), cfg_layout_can_merge_blocks_p(), cfg_layout_redirect_edge_and_branch(), compute_branch_probabilities(), connect_traces(), cse_cc_succs(), duplicate_computed_gotos(), find_if_block(), find_if_case_1(), find_if_case_2(), find_if_header(), find_trace(), find_traces_1_round(), identify_jump_threads(), migrate_btr_def(), outgoing_edges_match(), purge_dead_edges(), reachable_at_most_once(), rotate_loop(), rtl_can_merge_blocks(), single_noncomplex_succ(), tidy_fallthru_edges(), try_forward_edges(), and try_optimize_cfg().
| #define EDGE_CRITICAL_P | ( | e | ) |
Value:
((e)->src->succ->succ_next \ && (e)->dest->pred->pred_next)
Definition at line 610 of file basic-block.h.
Referenced by bb_has_well_behaved_predecessors(), coalesce_phi_operands(), coalesce_vars(), eliminate_partially_redundant_load(), find_spanning_tree(), hoist_insn_to_edge(), insert_aux(), insert_insn_on_edge(), instrument_edges(), make_regs_equivalent_over_bad_edges(), register_new_assert_for(), and split_critical_edges().
| #define EDGE_DFS_BACK 32 |
Definition at line 146 of file basic-block.h.
Referenced by bb_to_key(), bypass_block(), find_obviously_necessary_stmts(), find_trace(), identify_jump_threads(), insert_backedge_copies(), mark_dfs_back_edges(), propagate_freq(), prune_undesirable_thread_requests(), rtl_verify_flow_info_1(), thread_across_edge(), thread_block(), and verify_flow_info().
| #define EDGE_EH 8 |
Definition at line 144 of file basic-block.h.
Referenced by calculate_global_regs_live(), cfg_layout_redirect_edge_and_branch(), combine_predictions_for_bb(), copy_edges_for_bb(), copyprop_hardreg_forward(), df_has_eh_preds(), df_lr_confluence_n(), df_rd_confluence_n(), df_ru_confluence_n(), expand_gimple_tailcall(), finish_eh_generation(), fixup_abnormal_edges(), fixup_reorder_chain(), if_convertible_bb_p(), live_in_edge(), make_eh_edge(), make_reorder_chain_1(), mark_eh_edge(), merge_if_block(), outgoing_edges_match(), purge_dead_edges(), purge_dead_tablejump_edges(), redirect_edge_and_branch(), rtl_make_eh_edge(), rtl_redirect_edge_and_branch(), rtl_verify_flow_info_1(), set_even_probabilities(), tree_forwarder_block_p(), tree_purge_dead_eh_edges(), tree_redirect_edge_and_branch(), try_crossjump_to_edge(), verify_eh_edges(), and verify_flow_info().
| #define EDGE_FAKE 16 |
Definition at line 145 of file basic-block.h.
Referenced by add_noreturn_fake_exit_edges(), branch_prob(), calculate_global_regs_live(), combine_predictions_for_bb(), compute_branch_probabilities(), connect_infinite_loops_to_exit(), df_ur_confluence_n(), df_urec_confluence_n(), find_spanning_tree(), find_traces_1_round(), flow_call_edges_add(), ia64_expand_prologue(), insert_store(), make_ctrl_stmt_edges(), make_exit_edges(), make_goto_expr_edges(), outgoing_edges_match(), process_note_predictions(), purge_dead_edges(), remove_fake_predecessors(), remove_fake_successors(), rtl_flow_call_edges_add(), set_even_probabilities(), thread_prologue_and_epilogue_insns(), tree_cfg2vcg(), and tree_flow_call_edges_add().
| #define EDGE_FALLTHRU 1 |
Definition at line 139 of file basic-block.h.
Referenced by add_labels_and_missing_jumps(), analyze_edges_for_bb(), begin_schedule_ready(), bfin_discover_loop(), block_fallthru(), block_jumps_and_fallthru_p(), branch_prob(), can_duplicate_block_p(), can_fallthru(), cfg_layout_can_duplicate_bb_p(), cfg_layout_redirect_edge(), cfg_layout_redirect_edge_and_branch(), cfg_layout_split_edge(), check_simple_exit(), cleanup_control_expr_graph(), cleanup_unconditional_jumps(), combine_blocks(), commit_one_edge_insertion(), compute_alignments(), compute_branch_probabilities(), compute_jump_reg_dependencies(), construct_exit_block(), construct_init_block(), copy_edges_for_bb(), could_fall_through(), create_edge_and_update_destination_phis(), create_preheader(), disband_implicit_edges(), dump_implicit_edges(), dump_prediction(), dw2_build_landing_pads(), emit_insn_at_entry(), emit_to_new_bb_before(), expand_complex_div_wide(), expand_complex_move(), expand_gimple_cond_expr(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_parallel(), expand_omp_sections(), expand_omp_single(), expand_omp_synch(), expand_parallel_call(), find_if_block(), find_if_case_1(), find_if_header(), fix_basic_block_boundaries(), fix_up_fall_thru_edges(), fixup_abnormal_edges(), fixup_fallthru_exit_predecessor(), fixup_reorder_chain(), force_nonfallthru_and_redirect(), ia64_expand_prologue(), init_propagate_block_info(), ix86_pad_returns(), loop_optimizer_init(), lv_adjust_loop_entry_edge(), make_edges(), make_exit_edges(), make_goto_expr_edges(), make_reorder_chain_1(), merge_blocks(), merge_blocks_move(), mf_build_check_statement_for(), move_sese_region_to_fn(), mt_loop_nesting(), optimize_unexecutable_edges(), outgoing_edges_match(), perfect_nestify(), predict_edge(), propagate_rhs_into_lhs(), purge_dead_edges(), redirect_branch_edge(), redirect_edge_and_branch(), redirect_edges(), remove_dead_stmt(), remove_fallthru_edge(), replace_phi_edge_with_variable(), replace_phi_with_stmt(), rtl_extract_cond_bb_edges(), rtl_predict_edge(), rtl_split_edge(), rtl_tidy_fallthru_edge(), rtl_verify_flow_info(), rtl_verify_flow_info_1(), schedule_ebbs(), set_edge_can_fallthru_flag(), simplify_using_initial_values(), sjlj_emit_dispatch_table(), sjlj_emit_function_exit(), slpeel_add_loop_guard(), split_block(), split_edge(), thread_jump(), thread_prologue_and_epilogue_insns(), tidy_fallthru_edge(), tree_divmod_fixed_value(), tree_lv_add_condition_to_bb(), tree_merge_blocks(), tree_mod_pow2(), tree_mod_subtract(), tree_redirect_edge_and_branch(), tree_split_edge(), tree_ssa_phiopt(), tree_try_redirect_by_replacing_jump(), tree_verify_flow_info(), try_crossjump_bb(), try_forward_edges(), try_optimize_cfg(), try_redirect_by_replacing_jump(), try_simplify_condjump(), unswitch_loop(), VEC(), verify_flow_info(), visit_expression(), and x86_machine_dependent_reorg().
| #define EDGE_FREQUENCY | ( | e | ) |
Value:
(((e)->src->frequency \ * (e)->probability \ + REG_BR_PROB_BASE / 2) \ / REG_BR_PROB_BASE)
Definition at line 604 of file basic-block.h.
Referenced by bb_to_key(), canonicalize_loop_headers(), cfg_layout_duplicate_bb(), check_bb_profile(), coalesce_phi_operands(), coalesce_vars(), compute_alignments(), connect_traces(), construct_exit_block(), dump_flow_info(), duplicate_block(), duplicate_loop_to_header_edge(), eliminate_tail_call(), expand_gimple_cond_expr(), expand_gimple_tailcall(), expected_loop_iterations(), find_best_predecessor(), find_many_sub_basic_blocks(), find_sub_basic_blocks(), find_traces_1_round(), force_nonfallthru_and_redirect(), ix86_pad_returns(), layout_superblocks(), loopify(), make_forwarder_block(), redirect_edges(), remove_empty_loop(), rotate_loop(), split_edge(), thread_across_edge(), thread_block(), tree_duplicate_sese_region(), tree_split_edge(), try_crossjump_to_edge(), and x86_machine_dependent_reorg().
| #define EDGE_INDEX | ( | el, | |||
| pred, | |||||
| succ | ) | (find_edge_index ((el), (pred), (succ))) |
Definition at line 582 of file basic-block.h.
Referenced by GRAPH::Add_Edge(), connect_to_root(), IPA_CALL_GRAPH::Create_Clone(), IPA_CALL_GRAPH::Create_Quasi_Clone(), GRAPH::Delete_Edge(), GRAPH::Delete_Node(), Depth_First_Ordering(), GRAPH::Grow_Edge_Array(), Inline_callees_into_caller(), insert_store(), NODE_ITER::Next_Pred(), NODE_ITER::Next_Succ(), Print_inline_decision(), IPA_CALL_GRAPH::Remove_Quasi_Clone(), reverse_graph(), Reverse_Graph(), IPA_CALL_GRAPH::Update_Node_After_Preopt(), and verify_edge_list().
| #define EDGE_INDEX_NO_EDGE -1 |
Definition at line 578 of file basic-block.h.
Referenced by find_edge_index(), insert_store(), and verify_edge_list().
| #define ENTRY_BLOCK (-1) |
Definition at line 306 of file basic-block.h.
Referenced by branch_prob(), calculate_reg_pav(), compact_blocks(), copy_edges_for_bb(), df_refs_record(), df_urec_local_finalize(), find_basic_blocks(), init_empty_tree_cfg(), init_flow(), post_order_compute(), pre_and_rev_post_order_compute(), predict_paths_leading_to(), process_note_prediction(), propagate_freq(), prune_unused_phi_nodes(), and tree_bb_level_predictions().
| #define ENTRY_BLOCK_PTR (&entry_exit_blocks[0]) |
Definition at line 314 of file basic-block.h.
Referenced by add_labels_and_missing_jumps(), add_livein_if_notdef(), alloc_aux_for_blocks(), alloc_aux_for_edges(), allocate_bb_life_data(), assemble_start_function(), bb_to_key(), bfin_optimize_loop(), blocks_in_phiopt_order(), branch_prob(), bsi_commit_edge_inserts(), build_insn_chain(), build_omp_regions(), build_tree_cfg(), bypass_conditional_jumps(), cached_make_edge(), calc_dfs_tree(), calc_dfs_tree_nonrec(), calc_idoms(), calculate_dominance_info(), calculate_global_regs_live(), calculate_live_on_entry(), calculate_live_on_exit(), can_duplicate_block_p(), canonicalize_loop_headers(), cfg_blocks_add(), cfg_layout_can_duplicate_bb_p(), cfg_layout_can_merge_blocks_p(), cfg_layout_finalize(), cfg_layout_initialize(), cfg_layout_redirect_edge_and_branch(), cfg_layout_split_edge(), check_bb_profile(), classic_gcse(), cleanup_unconditional_jumps(), clear_aux_for_blocks(), clear_aux_for_edges(), clear_bb_flags(), clear_blocks_annotations(), clear_edges(), combine_reloads(), commit_edge_insertions(), commit_edge_insertions_watch_calls(), commit_one_edge_insertion(), compact_blocks(), compute_alignments(), compute_antinout_edge(), compute_avail(), compute_available(), compute_branch_probabilities(), compute_dominance_frontiers_1(), compute_earliest(), compute_farthest(), compute_global_livein(), compute_laterin(), compute_nearerout(), compute_rev_insert_delete(), compute_rvuse_and_antic_safe(), connect_traces(), construct_init_block(), convert_from_ssa(), copy_cfg_body(), copyprop_hardreg_forward(), counts_to_freqs(), cprop(), create_edge_list(), delete_unreachable_blocks(), determine_invariantness(), df_record_entry_block_defs(), do_reassoc(), dump_bb_header(), dump_edge_info(), dump_function_to_file(), eliminate_degenerate_phis(), eliminate_partially_redundant_loads(), eliminate_tail_call(), emit_insn_at_entry(), entry_of_function(), estimate_bb_frequencies(), expensive_function_p(), find_basic_block(), find_basic_blocks(), find_basic_blocks_1(), find_bb_boundaries(), find_control_dependence(), find_dummy_reload(), find_pdom(), find_rarely_executed_basic_blocks_and_crossing_edges(), find_spanning_tree(), find_traces(), find_traces_1_round(), find_unreachable_blocks(), fixup_fallthru_exit_predecessor(), fixup_reorder_chain(), flow_bb_inside_loop_p(), flow_depth_first_order_compute(), flow_loop_nodes_find(), flow_loop_pre_header_find(), flow_loop_pre_header_scan(), flow_loops_find(), flow_preorder_transversal_compute(), flow_reverse_top_sort_order_compute(), for_each_successor_phi(), force_nonfallthru_and_redirect(), forwarder_block_p(), free_basic_block_vars(), free_dominance_info(), get_exec_counts(), get_last_value(), get_last_value_validate(), get_loops_exits(), hoist_expr_reaches_here_p(), hybrid_search(), hybrid_search_bitmap(), hybrid_search_sbitmap(), init_empty_tree_cfg(), init_flow(), init_pre(), initialize_uninitialized_subregs(), insert(), insert_phi_node(), insert_range_assertions(), insert_updated_phi_nodes_for(), instrument_edges(), ix86_eax_live_at_start_p(), layout_superblocks(), live_on_exit(), live_worklist(), make_blocks(), make_edges(), make_reorder_chain_1(), mark_control_dependent_edges_necessary(), mark_def_site_blocks(), mark_dfs_back_edges(), mark_irreducible_loops(), mark_single_exit_loops(), merge_blocks(), merge_blocks_move(), merge_seq_blocks(), mf_decl_cache_locals(), mf_xform_derefs(), migrate_btr_def(), move_computations(), move_sese_region_to_fn(), nearest_common_dominator_of_uses(), nonzero_bits1(), note_prediction_to_br_prob(), num_sign_bit_copies1(), optimize_inline_calls(), perform_edge_inserts(), post_order_compute(), pre_and_rev_post_order_compute(), pre_expr_reaches_here_p_work(), predict_paths_leading_to(), print_edge_list(), process_note_prediction(), prologue_stack_adjust(), propagate_freq(), propagate_necessity(), push_reload(), reachable_at_most_once(), rebuild_cgraph_edges(), recount_dominator(), reg_dead_at_p(), reg_nonzero_bits_for_combine(), reg_num_sign_bit_copies_for_combine(), register_division_in(), regno_clobbered_at_setjmp(), regno_uninitialized(), remove_fake_edges(), rewrite_blocks(), rewrite_into_ssa(), rewrite_ssa_into_ssa(), rtl_can_merge_blocks(), rtl_verify_flow_info(), rtl_verify_flow_info_1(), scalarize_parms(), set_control_dependence_map_bit(), set_nonzero_bits_and_sign_copies(), sh_output_mi_thunk(), simplify_using_entry_checks(), simplify_using_initial_conditions(), simplify_using_initial_values(), sjlj_emit_function_enter(), ssa_const_prop(), ssa_prop_init(), thread_prologue_and_epilogue_insns(), tidy_fallthru_edges(), tree_bb_level_predictions(), tree_cfg2vcg(), tree_expand_cfg(), tree_find_edge_insert_loc(), tree_forwarder_block_p(), tree_optimize_tail_calls_1(), tree_predict_edge(), tree_redirect_edge_and_branch(), tree_ssa_dominator_optimize(), tree_ssa_uncprop(), tree_verify_flow_info(), try_crossjump_to_edge(), try_optimize_cfg(), update_life_info(), update_parameter_components(), update_ssa(), verify_dominators(), verify_edge_list(), verify_flow_info(), vt_add_function_parameters(), vt_initialize(), vt_stack_adjustments(), and walk_dominator_tree().
| #define EXECUTE_IF_AND_COMPL_IN_REG_SET | ( | REGSET1, | |||
| REGSET2, | |||||
| MIN, | |||||
| REGNUM, | |||||
| CODE | ) | EXECUTE_IF_AND_COMPL_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, CODE) |
Definition at line 90 of file basic-block.h.
| #define EXECUTE_IF_AND_IN_REG_SET | ( | REGSET1, | |||
| REGSET2, | |||||
| MIN, | |||||
| REGNUM, | |||||
| CODE | ) | EXECUTE_IF_AND_IN_BITMAP (REGSET1, REGSET2, MIN, REGNUM, CODE) |
Definition at line 96 of file basic-block.h.
| #define EXECUTE_IF_SET_IN_REG_SET | ( | REGSET, | |||
| MIN, | |||||
| REGNUM, | |||||
| CODE | ) | EXECUTE_IF_SET_IN_BITMAP (REGSET, MIN, REGNUM, CODE) |
Definition at line 84 of file basic-block.h.
Referenced by compute_use_by_pseudos(), conflict_graph_compute(), dump_regset(), find_reg(), finish_spills(), forget_marked_reloads(), free_deps(), free_propagate_block_info(), frv_ifcvt_modify_tests(), global_conflicts(), init_propagate_block_info(), initialize_uninitialized_subregs(), load_mems(), mark_target_live_regs(), order_regs_for_reload(), propagate_block(), propagate_one_insn(), safe_insert_insn_on_edge(), save_call_clobbered_regs(), sched_analyze_insn(), start_bb(), thread_jump(), update_equiv_regs(), update_life_info(), and verify_local_live_at_start().
| #define EXIT_BLOCK (-2) |
Definition at line 307 of file basic-block.h.
Referenced by branch_prob(), calculate_reg_pav(), compact_blocks(), copy_edges_for_bb(), df_lr_local_compute(), df_refs_record(), df_urec_local_finalize(), find_basic_blocks(), init_empty_tree_cfg(), init_flow(), post_order_compute(), pre_and_rev_post_order_compute(), and propagate_freq().
| #define EXIT_BLOCK_PTR (&entry_exit_blocks[1]) |
Definition at line 315 of file basic-block.h.
Referenced by add_block1(), add_control_edge(), add_labels_and_missing_jumps(), add_noreturn_fake_exit_edges(), alloc_aux_for_edges(), apply_return_prediction(), bfin_discover_loop(), block_has_only_trap(), block_label(), block_label_after(), branch_prob(), build_insn_chain(), build_tree_cfg(), bypass_block(), bypass_conditional_jumps(), cached_make_edge(), calc_dfs_tree(), calc_dfs_tree_nonrec(), calc_idoms(), calculate_dominance_info(), calculate_global_regs_live(), calculate_live_on_entry(), can_duplicate_block_p(), can_fallthru(), cfg_blocks_add(), cfg_layout_can_duplicate_bb_p(), cfg_layout_can_merge_blocks_p(), cfg_layout_delete_block(), cfg_layout_duplicate_bb(), check_bb_profile(), check_function_return_warnings(), classic_gcse(), clear_aux_for_edges(), clear_edges(), coalesce_abnormal_edges(), coalesce_result_decls(), commit_edge_insertions(), commit_edge_insertions_watch_calls(), commit_one_edge_insertion(), compact_blocks(), compute_antic(), compute_antinout_edge(), compute_available(), compute_branch_probabilities(), compute_code_hoist_vbeinout(), compute_dominance_frontiers_1(), compute_earliest(), compute_farthest(), compute_insert_delete(), compute_laterin(), compute_nearerout(), connect_infinite_loops_to_exit(), connect_traces(), construct_exit_block(), construct_init_block(), copy_cfg_body(), copy_edges_for_bb(), could_fall_through(), cprop(), create_edge_list(), create_loop_notes(), cse_cc_succs(), delete_unreachable_blocks(), df_lr_confluence_0(), df_record_exit_block_uses(), disband_implicit_edges(), distribute_links(), do_reassoc(), dump_bb_end(), dump_edge_info(), dump_function_to_file(), duplicate_computed_gotos(), eliminate_partially_redundant_loads(), eliminate_tail_call(), estimate_probability(), examine_flow_edges(), execute_sink_code(), execute_warn_function_noreturn(), execute_warn_function_return(), expand_gimple_tailcall(), find_basic_blocks(), find_control_dependence(), find_if_block(), find_if_case_1(), find_implicit_sets(), find_interesting_uses(), find_many_sub_basic_blocks(), find_pdom(), find_rarely_executed_basic_blocks_and_crossing_edges(), find_spanning_tree(), find_traces_1_round(), fix_bb_placement(), fix_crossing_conditional_branches(), fix_up_fall_thru_edges(), fixup_fallthru_exit_predecessor(), fixup_reorder_chain(), flow_bb_inside_loop_p(), flow_call_edges_add(), flow_depth_first_order_compute(), flow_dfs_compute_reverse_execute(), flow_loops_find(), flow_preorder_transversal_compute(), flow_reverse_top_sort_order_compute(), for_each_successor_phi(), force_nonfallthru_and_redirect(), forwarder_block_p(), free_basic_block_vars(), free_dominance_info(), frv_optimize_membar_global(), get_loop_body(), get_loop_body_in_bfs_order(), get_loop_body_in_dom_order(), get_loop_body_in_if_conv_order(), get_loop_exit_edges(), hybrid_search(), hybrid_search_bitmap(), hybrid_search_sbitmap(), ia64_expand_prologue(), init_empty_tree_cfg(), init_flow(), init_propagate_block_info(), insert_store(), ix86_pad_returns(), last_basic_block_p(), layout_superblocks(), life_analysis(), live_on_exit(), loop_delete_branch_edge(), loop_optimizer_init(), make_ctrl_stmt_edges(), make_edges(), make_exit_edges(), make_goto_expr_edges(), make_reorder_chain_1(), mark_control_dependent_edges_necessary(), mark_dfs_back_edges(), mark_irreducible_loops(), mark_single_exit_loops(), merge_if_block(), merge_seq_blocks(), move_sese_region_to_fn(), mt_reorg_loops(), num_loop_branches(), optimize_sibling_and_tail_recursive_calls(), optimize_unexecutable_edges(), perfect_nestify(), perform_edge_inserts(), post_order_compute(), pre_and_rev_post_order_compute(), print_edge_list(), print_rtl_graph_with_bb(), process_for_unwind_directive(), propagate_freq(), propagate_one_insn(), purge_dead_edges(), redirect_branch_edge(), redirect_edge_and_branch(), reg_alloc(), reg_dead_at_p(), regmove_optimize(), remove_dead_stmt(), remove_fake_edges(), remove_fake_exit_edges(), remove_path(), remove_reachable_equiv_notes(), rename_block(), rest_of_handle_loop2(), rest_of_handle_sms(), rewrite_virtual_phi_arguments(), rotate_loop(), rs6000_emit_prologue(), rtl_can_merge_blocks(), rtl_flow_call_edges_add(), rtl_loop_done(), rtl_split_edge(), rtl_verify_flow_info(), rtl_verify_flow_info_1(), schedule_ebbs(), set_control_dependence_map_bit(), sh_output_mi_thunk(), simulate_block(), sjlj_emit_function_exit(), skip_insns_after_block(), split_edge(), ssa_mark_phi_uses(), ssa_rewrite_phi_arguments(), thread_prologue_and_epilogue_insns(), tidy_fallthru_edges(), tree_can_merge_blocks_p(), tree_cfg2vcg(), tree_duplicate_bb(), tree_estimate_probability(), tree_expand_cfg(), tree_find_edge_insert_loc(), tree_flow_call_edges_add(), tree_forwarder_block_p(), tree_optimize_tail_calls_1(), tree_ssa_dse(), tree_verify_flow_info(), try_combine(), try_crossjump_bb(), try_forward_edges(), try_optimize_cfg(), try_redirect_by_replacing_jump(), try_simplify_condjump(), unswitch_loop(), verify_edge_list(), verify_flow_info(), verify_loop_structure(), vt_find_locations(), and x86_machine_dependent_reorg().
| #define FALLTHRU_EDGE | ( | bb | ) |
Value:
((bb)->succ->flags & EDGE_FALLTHRU \ ? (bb)->succ : (bb)->succ->succ_next)
Definition at line 596 of file basic-block.h.
Referenced by bfin_discover_loop(), bypass_block(), combine_predictions_for_insn(), compute_branch_probabilities(), compute_outgoing_frequencies(), condjump_equiv_p(), dead_or_predicable(), find_if_case_1(), find_implicit_sets(), mt_reorg_loops(), outgoing_edges_match(), purge_dead_edges(), thread_jump(), try_simplify_condjump(), unswitch_loop(), and unswitch_single_loop().
Definition at line 271 of file basic-block.h.
Referenced by build_web_parts_and_conflicts(), calculate_dominance_info(), compute_dom_fast_query(), compute_rvuse_and_antic_safe(), df_lr_dump(), df_rd_dump(), df_rescan_blocks(), df_ru_dump(), df_set_blocks(), df_ur_dump(), df_urec_dump(), execute_pre(), fini_pre(), free_bb_info(), free_dominance_info(), init_bb_info(), init_pre(), insert(), insert_fake_stores(), split_critical_edges(), ssa_prop_init(), try_optimize_cfg(), vt_finalize(), and vt_initialize().
Definition at line 259 of file basic-block.h.
Referenced by alloc_aux_for_blocks(), alloc_aux_for_edges(), allocate_bb_life_data(), branch_prob(), bypass_conditional_jumps(), calculate_global_regs_live(), cfg_layout_finalize(), cfg_layout_initialize(), classic_gcse(), clear_aux_for_blocks(), clear_aux_for_edges(), clear_bb_flags(), clear_blocks_annotations(), commit_edge_insertions(), commit_edge_insertions_watch_calls(), compute_branch_probabilities(), counts_to_freqs(), cprop(), create_edge_list(), eliminate_partially_redundant_loads(), estimate_bb_frequencies(), find_many_sub_basic_blocks(), find_spanning_tree(), find_sub_basic_blocks(), flow_dfs_compute_reverse_execute(), get_exec_counts(), instrument_edges(), make_edges(), mark_irreducible_loops(), remove_fake_edges(), tidy_fallthru_edges(), tree_expand_cfg(), verify_edge_list(), and verify_flow_info().
| #define FOR_EACH_BB | ( | BB | ) | FOR_BB_BETWEEN (BB, ENTRY_BLOCK_PTR->next_bb, EXIT_BLOCK_PTR, next_bb) |
Definition at line 262 of file basic-block.h.
Referenced by add_noreturn_fake_exit_edges(), add_reg_crossing_jump_notes(), add_unlikely_executed_notes(), alloc_gcse_mem(), alloc_mem(), allocate_bb_info(), allocate_initial_values(), associate_equivalences_with_edges(), bfin_reorg_loops(), blocks_in_phiopt_order(), branch_prob(), break_superblocks(), brief_dump_cfg(), bsi_commit_edge_inserts(), build_store_vectors(), build_tree_conflict_graph(), calculate_dominance_info(), calculate_global_regs_live(), calculate_live_on_entry(), calculate_live_on_exit(), calculate_local_reg_bb_info(), calculate_reg_pav(), canonicalize_loop_headers(), ccp_initialize(), cfg_remove_useless_stmts(), check_all_va_list_escapes(), cleanup_dead_labels(), cleanup_forwarder_blocks(), cleanup_unconditional_jumps(), clear_edges(), coalesce_abnormal_edges(), coalesce_asm_operands(), coalesce_phi_operands(), coalesce_vars(), collect_dfa_stats(), collect_pattern_seqs(), combine_instructions(), combine_stack_adjustments(), commit_edge_insertions(), commit_edge_insertions_watch_calls(), compact_blocks(), compute_ae_kill(), compute_alignments(), compute_antic(), compute_available(), compute_bb_for_insn(), compute_branch_probabilities(), compute_checksum(), compute_dominance_frontiers_1(), compute_function_frequency(), compute_hash_table(), compute_hash_table_work(), compute_immediate_uses(), compute_init_costs(), compute_insert_delete(), compute_kill_rd(), compute_laterin(), compute_ld_motion_mems(), compute_may_aliases(), compute_nearerout(), compute_object_sizes(), compute_points_to_and_addr_escape(), compute_points_to_sets(), compute_pre_data(), compute_rd(), compute_rev_insert_delete(), compute_rvuse_and_antic_safe(), compute_sets(), compute_store_table(), compute_transp(), compute_transpout(), compute_vuse_representatives(), convert_to_ssa(), copyprop_hardreg_forward(), count_or_remove_death_notes(), counts_to_freqs(), create_loop_notes(), create_ssa_var_map(), create_structure_vars(), cse_condition_code_reg(), debug_dominance_info(), delete_dead_jumptables(), delete_noop_moves(), delete_null_pointer_checks(), delete_null_pointer_checks_1(), delete_tree_cfg_annotations(), delete_tree_ssa(), detect_webs_set_in_cond_jump(), determine_lsm(), df_alloc(), df_analyse_1(), df_analyze_1(), df_analyze_subcfg(), df_bitmaps_alloc(), df_bitmaps_free(), df_compact_blocks(), df_dump(), df_modified_p(), disband_implicit_edges(), discover_nonconstant_array_refs(), dump_cfg_stats(), dump_dataflow_sets(), dump_flow_info(), dump_function_to_file(), dump_immediate_uses(), dump_live_info(), dump_points_to_info(), dump_static_insn_cost(), dump_tree_ssa(), duplicate_computed_gotos(), eliminate(), eliminate_unnecessary_stmts(), eliminate_virtual_phis(), emit_colors(), estimate_bb_frequencies(), estimate_probability(), execute_cse_reciprocals(), execute_early_warn_uninitialized(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_free_cfg_annotations(), execute_late_warn_uninitialized(), execute_optimize_stdarg(), execute_return_slot_opt(), expand_vector_operations(), expensive_function_p(), factor_computed_gotos(), fill_hash_bucket(), find_basic_block(), find_basic_blocks(), find_implicit_sets(), find_many_sub_basic_blocks(), find_obviously_necessary_stmts(), find_rarely_executed_basic_blocks_and_crossing_edges(), find_referenced_vars(), find_replaceable_exprs(), find_unreachable_blocks(), find_uses_to_rename(), finish_eh_generation(), fix_crossing_conditional_branches(), fix_crossing_unconditional_branches(), fix_loop_structure(), fix_up_fall_thru_edges(), fixup_abnormal_edges(), fixup_reorder_chain(), flow_loops_cfg_dump(), flow_loops_find(), flow_preorder_transversal_compute(), fold_cond_expr_cond(), free_all_edge_infos(), free_bb_info(), free_df(), free_dominance_info(), frv_optimize_membar(), get_loop_body(), get_loops_exits(), global_conflicts(), group_case_labels(), hoist_code(), identify_jump_threads(), if_convert(), init_alias_info(), init_copy_prop(), init_dont_simulate_again(), insert_backedge_copies(), insert_section_boundary_note(), kill_redundant_phi_nodes(), local_alloc(), local_cprop_pass(), make_abnormal_goto_edges(), make_accurate_live_analysis(), make_edges(), make_goto_expr_edges(), make_reorder_chain(), mark_elimination(), mark_loop_exit_edges(), mark_really_necessary_kill_operand_phis(), mark_single_exit_loops(), merge_phi_nodes(), modify_reg_pav(), mt_reorg_loops(), note_prediction_to_br_prob(), notice_stack_pointer_modification(), optimize_inline_calls(), optimize_unexecutable_edges(), partition_hot_cold_basic_blocks(), perform_edge_inserts(), print_loop(), propagate_freq(), purge_all_dead_edges(), rebuild_cgraph_edges(), recalculate_used_alone(), record_effective_endpoints(), reg_dead_at_p(), reg_is_remote_constant_p(), regclass(), regmove_optimize(), regrename_optimize(), reload(), remove_all_phi_nodes_for(), remove_range_assertions(), remove_ssa_form(), remove_unused_locals(), rename_block(), rename_ssa_copies(), rest_of_handle_loop2(), rest_of_handle_sms(), rewrite_into_ssa(), rewrite_ssa_into_ssa(), rewrite_trees(), rtl_loop_done(), s390_regs_ever_clobbered(), scan_one_insn(), scev_const_prop(), schedule_ebbs(), set_edge_can_fallthru_flag(), sra_walk_function(), store_motion(), strip_builtin_expect(), substitute_and_fold(), tail_duplicate(), thread_prologue_and_epilogue_insns(), thread_through_all_blocks(), tree_bb_level_predictions(), tree_cfg2vcg(), tree_estimate_probability(), tree_find_values_to_profile(), tree_lower_complex(), tree_lower_complex_O0(), tree_lower_operations(), tree_nrv(), tree_ssa_dominator_optimize(), tree_ssa_dse(), tree_ssa_forward_propagate_single_use_vars(), tree_ssa_lim_finalize(), tree_ssa_lim_initialize(), tree_ssa_phiopt(), tree_ssa_uncprop(), tree_value_profile_transformations(), tree_verify_flow_info(), try_optimize_cfg(), update_equiv_regs(), update_life_info(), update_life_info_in_dirty_blocks(), update_ssa(), VEC(), verify_dominators(), verify_hot_cold_block_grouping(), verify_loop_closed_ssa(), verify_loop_structure(), verify_ssa(), verify_stmts(), vrp_initialize(), vt_emit_notes(), vt_finalize(), vt_find_locations(), and vt_initialize().
| #define FOR_EACH_BB_REVERSE | ( | BB | ) | FOR_BB_BETWEEN (BB, EXIT_BLOCK_PTR->prev_bb, ENTRY_BLOCK_PTR, prev_bb) |
Definition at line 265 of file basic-block.h.
Referenced by calc_dfs_tree(), compute_antinout_edge(), compute_coalesced_reg_partition(), compute_code_hoist_vbeinout(), compute_conservative_reg_partition(), conflict_graph_compute(), convert_from_ssa(), count_or_remove_death_notes(), emit_predicate_relation_info(), find_evaluations(), mark_flags_life_zones(), print_rtl_graph_with_bb(), print_rtl_with_bb(), reload_combine(), rename_equivalent_regs(), rtl_verify_flow_info(), rtl_verify_flow_info_1(), sh_md_init_global(), split_all_insns(), ssa_ccp_df_delete_unreachable_insns(), update_equiv_regs(), update_life_info(), and verify_flow_info().
Definition at line 106 of file basic-block.h.
Referenced by build_insn_chain(), calculate_global_regs_live(), compute_coalesced_reg_partition(), conflict_graph_compute(), dead_or_predicable(), finish_deps_global(), init_propagate_block_info(), rtl_delete_block(), safe_insert_insn_on_edge(), simplify_using_initial_values(), and update_life_info().
Definition at line 590 of file basic-block.h.
Referenced by branch_prob(), compute_laterin(), compute_nearerout(), find_control_dependence(), find_spanning_tree(), optimize_unexecutable_edges(), pre_edge_insert(), see_pre_insert_extensions(), and store_motion().
Definition at line 586 of file basic-block.h.
Referenced by compute_earliest(), compute_farthest(), compute_rev_insert_delete(), find_control_dependence(), find_edge_index(), mark_control_dependent_edges_necessary(), pre_edge_insert(), print_edge_list(), see_pre_insert_extensions(), ssa_eliminate_dead_code(), and verify_edge_list().
Definition at line 587 of file basic-block.h.
Referenced by compute_earliest(), compute_farthest(), compute_insert_delete(), find_control_dependence(), find_edge_index(), pre_edge_insert(), print_edge_list(), see_pre_insert_extensions(), and verify_edge_list().
| #define INIT_ONCE_REG_SET | ( | ) | BITMAP_INIT_ONCE () |
| #define INIT_REG_SET | ( | HEAD | ) | bitmap_initialize (HEAD, 1) |
Definition at line 37 of file basic-block.h.
Referenced by clear_regs_live_in_seq(), collect_pattern_seqs(), compute_coalesced_reg_partition(), conflict_graph_compute(), init_deps(), init_reload(), load_mems(), new_insn_chain(), reload_as_needed(), sched_analyze_insn(), struct_equiv_block_eq(), and update_equiv_regs().
| #define INITIALIZE_REG_SET | ( | HEAD | ) | bitmap_initialize (&HEAD, 1) |
Definition at line 103 of file basic-block.h.
Referenced by build_insn_chain(), calculate_global_regs_live(), dead_or_predicable(), init_deps_global(), init_propagate_block_info(), and update_life_info().
| #define INVALID_BLOCK (-3) |
Definition at line 310 of file basic-block.h.
Referenced by calculate_global_regs_live(), control_dependent_block_to_edge_map_create(), copyprop_hardreg_forward(), find_pdom(), flow_dfs_compute_reverse_add_bb(), flow_dfs_compute_reverse_execute(), flow_dfs_compute_reverse_init(), and set_control_dependent_block_to_edge_map_bit().
| #define IOR_AND_COMPL_REG_SET | ( | TO, | |||
| FROM1, | |||||
| FROM2 | ) | bitmap_ior_and_compl (TO, FROM1, FROM2) |
Definition at line 62 of file basic-block.h.
| #define IOR_REG_SET | ( | TO, | |||
| FROM | ) | bitmap_operation (TO, TO, FROM, BITMAP_IOR) |
Definition at line 56 of file basic-block.h.
Referenced by calculate_global_regs_live(), erase_matching_seqs(), propagate_block(), sched_analyze_insn(), and split_blocks_after_seqs().
| #define LOOP_ALL 15 |
Definition at line 666 of file basic-block.h.
Referenced by if_convertible_loop_p(), linear_transform_loops(), perfect_nestify(), slpeel_tree_duplicate_loop_to_edge_cfg(), slpeel_tree_peel_loop_to_edge(), and vect_analyze_loop_form().
| #define LOOP_EDGES (LOOP_ENTRY_EDGES | LOOP_EXIT_EDGES) |
Definition at line 665 of file basic-block.h.
| #define LOOP_ENTRY_EDGES 4 |
| #define LOOP_EXIT_EDGES 8 |
Definition at line 664 of file basic-block.h.
Referenced by estimate_probability(), flow_loop_scan(), and predict_loops().
| #define LOOP_PRE_HEADER 2 |
| #define LOOP_TREE 1 |
Definition at line 661 of file basic-block.h.
Referenced by create_loop_notes(), flow_loops_find(), loop_optimizer_init(), mark_loop_exit_edges(), rest_of_compilation(), rest_of_handle_branch_prob(), and tree_estimate_probability().
| #define MAX_REGNO_REG_SET | ( | NUM_REGS, | |||
| NEW_P, | |||||
| RENUMBER_P | ) |
Definition at line 593 of file basic-block.h.
Referenced by branch_prob(), compute_earliest(), compute_farthest(), compute_insert_delete(), compute_laterin(), compute_nearerout(), compute_rev_insert_delete(), find_all_control_dependences(), find_edge_index(), find_spanning_tree(), instrument_edges(), optimize_unexecutable_edges(), pre_edge_insert(), pre_edge_lcm(), pre_edge_rev_lcm(), see_pre_insert_extensions(), ssa_const_prop(), and store_motion().
| #define OBSTACK_ALLOC_REG_SET | ( | OBSTACK | ) | BITMAP_OBSTACK_ALLOC (OBSTACK) |
Definition at line 100 of file basic-block.h.
Referenced by allocate_bb_life_data(), calculate_global_regs_live(), cfg_layout_duplicate_bb(), force_nonfallthru_and_redirect(), split_block(), and split_edge().
| #define PROP_ALLOW_CFG_CHANGES 32 |
Definition at line 635 of file basic-block.h.
Referenced by life_analysis(), and update_life_info().
| #define PROP_AUTOINC 64 |
Definition at line 637 of file basic-block.h.
Referenced by add_to_mem_set_list(), init_propagate_block_info(), life_analysis(), mark_set_1(), mark_used_dest_regs(), mark_used_reg(), mark_used_regs(), and propagate_one_insn().
| #define PROP_DEATH_NOTES 1 |
Definition at line 630 of file basic-block.h.
Referenced by branch_target_load_optimize(), cleanup_cfg(), combine_instructions(), convert_from_ssa(), copyprop_hardreg_forward(), ia64_reorg(), if_convert(), ip2k_reorg(), m68hc11_reorg(), mark_set_1(), mark_used_reg(), propagate_one_insn(), purge_all_dead_edges(), recompute_reg_usage(), reg_alloc(), regrename_optimize(), rest_of_compilation(), rest_of_handle_life(), rest_of_handle_partition_blocks(), rest_of_handle_reorder_blocks(), rest_of_handle_see(), rest_of_handle_sms(), rest_of_rtl_seqabstr(), rtl_find_values_to_profile(), rtl_seqabstr(), split_all_insns(), struct_equiv_init(), and update_life_info().
| #define PROP_EQUAL_NOTES 128 |
| #define PROP_FINAL |
Value:
(PROP_DEATH_NOTES | PROP_LOG_LINKS \ | PROP_REG_INFO | PROP_KILL_DEAD_CODE \ | PROP_SCAN_DEAD_CODE | PROP_AUTOINC \ | PROP_ALLOW_CFG_CHANGES \ | PROP_SCAN_DEAD_STORES)
Definition at line 640 of file basic-block.h.
Referenced by ip2k_reorg(), rest_of_compilation(), rest_of_handle_life(), and sh_output_mi_thunk().
| #define PROP_KILL_DEAD_CODE 8 |
Definition at line 633 of file basic-block.h.
Referenced by cleanup_cfg(), combine_instructions(), copyprop_hardreg_forward(), if_convert(), propagate_one_insn(), purge_all_dead_edges(), rest_of_handle_sms(), rest_of_rtl_seqabstr(), rtl_seqabstr(), and update_life_info().
| #define PROP_LOG_LINKS 2 |
Definition at line 631 of file basic-block.h.
Referenced by cleanup_cfg(), init_propagate_block_info(), life_analysis(), mark_set_1(), mark_used_reg(), reg_alloc(), rest_of_compilation(), rest_of_handle_life(), rest_of_handle_partition_blocks(), and update_life_info().
| #define PROP_REG_INFO 4 |
Definition at line 632 of file basic-block.h.
Referenced by branch_target_load_optimize(), free_propagate_block_info(), ip2k_reorg(), life_analysis(), m68hc11_reorg(), mark_set_1(), mark_used_dest_regs(), mark_used_reg(), mark_used_regs(), propagate_block(), propagate_one_insn(), recompute_reg_usage(), reg_alloc(), regrename_optimize(), rest_of_compilation(), rest_of_handle_life(), rest_of_handle_partition_blocks(), rest_of_handle_sms(), split_all_insns(), and update_life_info().
| #define PROP_SCAN_DEAD_CODE 16 |
Definition at line 634 of file basic-block.h.
Referenced by cleanup_cfg(), combine_instructions(), copyprop_hardreg_forward(), if_convert(), propagate_one_insn(), purge_all_dead_edges(), rest_of_handle_sms(), rest_of_rtl_seqabstr(), rtl_seqabstr(), and update_life_info().
| #define PROP_SCAN_DEAD_STORES 256 |
Definition at line 639 of file basic-block.h.
Referenced by init_propagate_block_info(), life_analysis(), mark_set_1(), mark_used_regs(), and update_life_info().
| #define REG_BASIC_BLOCK | ( | N | ) | (VARRAY_REG (reg_n_info, N)->basic_block) |
Definition at line 295 of file basic-block.h.
Referenced by allocate_reg_info(), allocate_reg_life_data(), delete_output_reload(), df_create_unused_note(), df_ri_alloc(), df_ri_bb_compute(), df_ri_compute(), dump_flow_info(), equiv_init_movable_p(), find_reg(), local_alloc(), mark_set_1(), mark_used_reg(), propagate_block(), update_equiv_regs(), and update_life_info().
| #define REG_BLOCK_GLOBAL -2 |
Definition at line 293 of file basic-block.h.
Referenced by df_create_unused_note(), df_ri_bb_compute(), find_reg(), mark_set_1(), mark_used_reg(), propagate_block(), and update_life_info().
| #define REG_BLOCK_UNKNOWN -1 |
Definition at line 292 of file basic-block.h.
Referenced by allocate_reg_info(), allocate_reg_life_data(), df_create_unused_note(), df_ri_alloc(), df_ri_bb_compute(), df_ri_compute(), mark_set_1(), mark_used_reg(), and update_life_info().
Definition at line 46 of file basic-block.h.
Referenced by calculate_global_regs_live(), struct_equiv_init(), and verify_local_live_at_start().
| #define REG_SET_TO_HARD_REG_SET | ( | TO, | |||
| FROM | ) |
Value:
do { \ CLEAR_HARD_REG_SET (TO); \ reg_set_to_hard_reg_set (&TO, FROM); \ } while (0)
Definition at line 76 of file basic-block.h.
Referenced by block_alloc(), choose_reload_regs_init(), compute_defs_uses_and_gen(), finish_spills(), global_conflicts(), mark_target_live_regs(), merge_overlapping_regs(), order_regs_for_reload(), reload_combine(), renumbered_reg_set_to_hard_reg_set(), and save_call_clobbered_regs().
| #define REGNO_REG_SET_P | ( | TO, | |||
| REG | ) | bitmap_bit_p (TO, REG) |
Definition at line 72 of file basic-block.h.
Referenced by allocate_initial_values(), altered_reg_used(), assign_reg_reg_set(), bfin_discover_loop(), collect_pattern_seqs(), compute_defs_uses_and_gen(), conflict_graph_compute(), conservative(), count_pseudo(), count_spilled_pseudo(), distribute_notes(), emit_colors(), emit_predicate_relation_info(), emit_reload_insns(), find_dying_inputs(), forget_marked_reloads(), forget_old_reloads_1(), frv_ifcvt_modify_insn(), frv_ifcvt_modify_tests(), get_last_value(), get_last_value_validate(), hoist_test_store(), init_propagate_block_info(), insert_phi_nodes(), insn_dead_p(), ix86_eax_live_at_start_p(), mark_elimination(), mark_flags_life_zones(), mark_set_1(), mark_used_reg(), mentions_nonequal_regs(), nonzero_bits1(), num_sign_bit_copies1(), oprs_not_set_p(), propagate_block(), propagate_one_insn(), reg_dead_at_p(), reg_nonzero_bits_for_combine(), reg_num_sign_bit_copies_for_combine(), regno_clobbered_at_setjmp(), regno_uninitialized(), renumbered_reg_set_to_hard_reg_set(), rtx_equiv_p(), set_nonzero_bits_and_sign_copies(), struct_equiv_restore_checkpoint(), and verify_local_live_at_start().
Definition at line 318 of file basic-block.h.
Referenced by add_insn_after(), add_insn_before(), cfg_layout_merge_blocks(), emit_insn_after_1(), emit_loads(), insert_stores(), merge_blocks_nomove(), reorder_insns(), rewrite_program(), rtl_merge_blocks(), try_redirect_by_replacing_jump(), and update_bb_for_insn().
| #define SET_REGNO_REG_SET | ( | HEAD, | |||
| REG | ) | bitmap_set_bit (HEAD, REG) |
Definition at line 69 of file basic-block.h.
Referenced by add_stored_regs(), allocate_initial_values(), assign_reg_reg_set(), build_insn_chain(), calculate_global_regs_live(), choose_reload_regs(), conflict_graph_compute(), conservative(), count_pseudo(), count_spilled_pseudo(), emit_colors(), emit_reload_insns(), erase_matching_seqs(), forget_old_reloads_1(), init_propagate_block_info(), insert_one_insn(), insert_restore(), insert_save(), load_mems(), mark_altered(), mark_clobber(), mark_effect(), mark_elimination(), mark_killed_regs(), mark_phi_and_copy_regs(), mark_reg(), mark_reg_in_phi(), mark_regs_live_at_end(), mark_set(), mark_set_1(), mark_used_reg(), propagate_block(), propagate_one_insn(), reg_becomes_live(), reg_dies(), reload_as_needed(), safe_insert_insn_on_edge(), sched_analyze(), sched_analyze_1(), sched_analyze_2(), sched_analyze_insn(), sched_analyze_reg(), set_phi_alternative_reg(), simplify_using_assignment(), spill_hard_reg(), split_pattern_seq(), and update_equiv_regs().
| #define VLS_EXPECT_PREHEADERS 1 |
| #define VLS_EXPECT_SIMPLE_LATCHES 2 |
| #define XOR_REG_SET | ( | TO, | |||
| FROM | ) | bitmap_operation (TO, TO, FROM, BITMAP_XOR) |
| typedef struct basic_block_def * basic_block |
| typedef struct ce_if_block ce_if_block_t |
| typedef struct conflict_graph_def* conflict_graph |
Definition at line 774 of file basic-block.h.
| typedef struct dominance_info* dominance_info |
Definition at line 368 of file basic-block.h.
| typedef HOST_WIDEST_INT gcov_type |
Definition at line 117 of file basic-block.h.
| typedef int conflict_graph_enum_fn PARAMS((int, int, void *)) |
Definition at line 779 of file basic-block.h.
Definition at line 34 of file basic-block.h.
| typedef bitmap_head regset_head |
Definition at line 32 of file basic-block.h.
| enum cdi_direction |
| CDI_DOMINATORS | |
| CDI_POST_DOMINATORS | |
| CDI_DOMINATORS | |
| CDI_POST_DOMINATORS | |
| CDI_DOMINATORS | |
| CDI_POST_DOMINATORS | |
| CDI_DOMINATORS | |
| CDI_POST_DOMINATORS |
Definition at line 811 of file basic-block.h.
| enum update_life_extent |
Definition at line 621 of file basic-block.h.
| void iterate_fix_dominators PARAMS | ( | (dominance_info, basic_block *, int) | ) |
| int get_dominated_by PARAMS | ( | (dominance_info, basic_block, basic_block **) | ) |
| basic_block get_immediate_dominator PARAMS | ( | (dominance_info, basic_block) | ) |
| basic_block nearest_common_dominator PARAMS | ( | (dominance_info, basic_block, basic_block) | ) |
| void free_dominance_info PARAMS | ( | (dominance_info) | ) |
| dominance_info calculate_dominance_info PARAMS | ( | (enum cdi_direction) | ) |
| conflict_graph conflict_graph_compute PARAMS | ( | (regset, partition) | ) |
| void conflict_graph_print PARAMS | ( | (conflict_graph, FILE *) | ) |
| void conflict_graph_enum PARAMS | ( | (conflict_graph, int, conflict_graph_enum_fn, void *) | ) |
| int conflict_graph_add PARAMS | ( | (conflict_graph, int, int) | ) |
| void conflict_graph_delete PARAMS | ( | (conflict_graph) | ) |
| void add_bb_to_loop PARAMS | ( | (basic_block, struct loop *) | ) |
| int dfs_enumerate_from PARAMS | ( | (basic_block, int, bool(*)(basic_block, void *), basic_block *, int, void *) | ) |
| basic_block* get_loop_body PARAMS | ( | (const struct loop *) | ) |
| bool flow_bb_inside_loop_p PARAMS | ( | (const struct loop *, const basic_block) | ) |
| void alloc_aux_for_block PARAMS | ( | (basic_block, int) | ) |
| int delete_noop_moves PARAMS | ( | (rtx) | ) |
| void dump_bb PARAMS | ( | (basic_block, FILE *) | ) |
| struct edge_list* pre_edge_lcm PARAMS | ( | (FILE *, int, sbitmap *, sbitmap *, sbitmap *, sbitmap *, sbitmap **, sbitmap **) | ) | [read] |
| void free_propagate_block_info PARAMS | ( | (struct propagate_block_info *) | ) |
| rtx propagate_one_insn PARAMS | ( | (struct propagate_block_info *, rtx) | ) |
| int propagate_block PARAMS | ( | (basic_block, regset, regset, regset, int) | ) |
| int count_or_remove_death_notes PARAMS | ( | (sbitmap, int) | ) |
| int update_life_info_in_dirty_blocks PARAMS | ( | (enum update_life_extent, int) | ) |
| int update_life_info PARAMS | ( | (sbitmap, enum update_life_extent, int) | ) |
| int find_edge_index PARAMS | ( | (struct edge_list *, basic_block, basic_block) | ) |
| void flow_loop_dump PARAMS | ( | (const struct loop *, FILE *, void(*)(const struct loop *, FILE *, int), int) | ) |
| void flow_loops_dump PARAMS | ( | (const struct loops *, FILE *, void(*)(const struct loop *, FILE *, int), int) | ) |
| int flow_depth_first_order_compute PARAMS | ( | (int *, int *) | ) |
| void flow_reverse_top_sort_order_compute PARAMS | ( | (int *) | ) |
| void tidy_fallthru_edge PARAMS | ( | (edge, basic_block, basic_block) | ) |
| void merge_blocks_nomove PARAMS | ( | (basic_block, basic_block) | ) |
| basic_block create_basic_block PARAMS | ( | (rtx, rtx, basic_block) | ) |
| basic_block create_basic_block_structure PARAMS | ( | (rtx, rtx, rtx, basic_block) | ) |
| void redirect_edge_succ PARAMS | ( | (edge, basic_block) | ) |
| edge unchecked_make_edge PARAMS | ( | (basic_block, basic_block, int) | ) |
| edge cached_make_edge PARAMS | ( | (sbitmap *, basic_block, basic_block, int) | ) |
| int flow_call_edges_add PARAMS | ( | (sbitmap) | ) |
| basic_block split_edge PARAMS | ( | (edge) | ) |
| edge split_block PARAMS | ( | (basic_block, rtx) | ) |
| void free_basic_block_vars PARAMS | ( | (int) | ) |
| void update_bb_for_insn PARAMS | ( | (basic_block) | ) |
Definition at line 77 of file cplus-dem.c.
Definition at line 71 of file cfg.c.
Referenced by alloc_block(), allocate_bb_life_data(), calculate_global_regs_live(), cfg_layout_duplicate_bb(), force_nonfallthru_and_redirect(), init_flow(), split_block(), split_edge(), and unchecked_make_edge().
| int last_basic_block |
| int n_basic_blocks |
Definition at line 207 of file flow.c.
Referenced by allocate_bb_life_data(), propagate_block(), regno_clobbered_at_setjmp(), and update_life_info().
1.5.6