GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
class | bitmap_usage |
struct | bitmap_obstack |
struct | bitmap_element |
class | bitmap_head |
struct | bitmap_iterator |
class | auto_bitmap |
class | base_bitmap_view< T, Traits > |
class | bitmap_view< T, Traits, true > |
Macros | |
#define | BITMAP_WORD_BITS (CHAR_BIT * SIZEOF_LONG * 1u) |
#define | BITMAP_ELEMENT_WORDS ((128 + BITMAP_WORD_BITS - 1) / BITMAP_WORD_BITS) |
#define | BITMAP_ELEMENT_ALL_BITS (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS) |
#define | bitmap_compl_and(DST, A, B) |
#define | BITMAP_ALLOC bitmap_alloc |
#define | BITMAP_GGC_ALLOC bitmap_gc_alloc |
#define | BITMAP_FREE(BITMAP) |
#define | EXECUTE_IF_SET_IN_BITMAP(BITMAP, MIN, BITNUM, ITER) |
#define | EXECUTE_IF_AND_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) |
#define | EXECUTE_IF_AND_COMPL_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) |
Typedefs | |
typedef unsigned long | BITMAP_WORD |
Variables | |
mem_alloc_description< bitmap_usage > | bitmap_mem_desc |
bitmap_element | bitmap_zero_bits |
bitmap_obstack | bitmap_default_obstack |
#define BITMAP_ALLOC bitmap_alloc |
Referenced by add_candidate_1(), add_dependence(), equiv_oracle::add_equiv_to_block(), add_graph_edge(), add_implicit_graph_edge(), equiv_oracle::add_partial_equiv(), add_pred_graph_edge(), infer_range_manager::add_range(), add_scope_conflicts(), add_scope_conflicts_1(), add_stack_var_conflict(), add_to_partition_kill_list(), add_to_repl_tbl(), add_to_value(), alloc_gcse_mem(), alloc_mem(), analyze_all_variable_accesses(), loop_distribution::bb_top_order_init(), bb_valid_for_noce_process_p(), bbs_ok_for_cmove_arith(), strlen_pass::before_dom_children(), build_pred_graph(), calculate_bb_reg_pressure(), gori_map::calculate_gori(), can_move_insns_across(), canonicalize_induction_variables(), symtab_node::check_ifunc_callee_symtab_nodes(), cleanup_empty_eh_merge_phis(), cleanup_tree_cfg_noloop(), coalesce_bitint(), combine_stack_adjustments(), combine_stack_adjustments_for_block(), compute_builtin_object_size(), compute_dependence_clique(), compute_idf(), compute_live_vars(), consider_split(), copy_static_var_set(), create_nesting_tree(), dce_process_block(), dead_debug_add(), dead_debug_global_replace_temp(), dead_debug_insert_temp(), dead_debug_local_init(), dead_debug_promote_uses(), dead_debug_reset_uses(), dead_or_predicable(), decompose_multiword_subregs(), deps_ok_for_redirect_from_bb_to_bb(), determine_dominators_for_sons(), determine_group_iv_cost_address(), determine_group_iv_cost_cond(), determine_group_iv_cost_generic(), determine_group_iv_costs(), df_analyze(), df_analyze_loop(), df_chain_add_problem(), df_live_add_problem(), df_lr_add_problem(), df_mir_add_problem(), df_rd_transfer_function(), df_scan_alloc(), df_set_blocks(), df_word_lr_add_problem(), df_worklist_dataflow_doublequeue(), discover_loops(), ipa_icf::sem_item_optimizer::do_congruence_step(), ipa_icf::sem_item_optimizer::do_congruence_step_for_index(), do_rpo_vn_1(), do_store_motion(), doloop_optimize(), dom_oracle::dom_oracle(), dse_confluence_0(), dse_confluence_n(), dse_step0(), dse_step1(), dse_step3(), dse_step3_scan(), dse_transfer_function(), duplicate_loop_body_to_header_edge(), eliminate_dom_walker::eliminate_dom_walker(), equiv_oracle::equiv_oracle(), equiv_oracle::equiv_set(), path_oracle::equiv_set(), execute_split_functions(), ext_dce_init(), ext_dce_process_bb(), fast_dce(), find_always_executed_bbs(), find_call_stack_args(), find_inv_vars_cb(), find_invariant_insn(), find_pseudo_copy(), find_split_points(), find_tail_calls(), find_uses_to_rename_use(), gate_tm_init(), get_def_blocks_for(), get_group_info(), get_loop_body_in_if_conv_order(), get_loop_hot_path(), get_nonnull_args(), get_parm_default_def_partitions(), get_tm_region_blocks(), get_undefined_value_partitions(), gimple_lower_bitint(), gimplify_omp_for(), gimplify_size_expressions(), gori_map::gori_map(), hoist_code(), infer_range_manager::infer_range_manager(), init_function_info(), init_object_sizes(), init_pre(), init_var_map(), init_worklist(), intra_create_variable_infos(), ipa_init(), ipa_reference_read_optimization_summary(), ipa_sra_summarize_function(), ipa_tm_propagate_irr(), ipa_tm_scan_calls_transaction(), ipa_tm_scan_irr_blocks(), ipa_tm_scan_irr_function(), ipa_tm_transform_calls(), ira_allocate_bitmap(), ira_reassign_pseudos(), iterate_fix_dominators(), iv_ca_new(), path_oracle::killing_def(), label_visit(), lang_dependent_init(), live_vars_at_stmt(), lto_output(), make_dependent_on_partition(), mark_for_renaming(), mark_replaceable(), maybe_lower_iteration_bound(), maybe_skip_until(), merge_graph_nodes(), move_sese_region_to_fn(), new_cluster(), new_temp_expr_table(), new_var_info(), noce_convert_multiple_sets(), oacc_entry_exit_ok(), optimize_va_list_gpr_fpr_size(), param_change_prob(), partition_alloc(), partition_view_bitmap(), partition_view_init(), path_oracle::path_oracle(), peephole2_optimize(), perform_tree_ssa_dce(), perform_var_substitution(), phi_analyzer::phi_analyzer(), prescan_insns_for_dce(), phi_analyzer::process_phi(), process_replaceable(), propagate(), uninit_analysis::prune_phi_opnds(), prune_unused_phi_nodes(), equiv_oracle::record(), record_group(), record_store(), range_def_chain::register_dependency(), equiv_oracle::register_equiv(), equiv_oracle::register_equiv(), path_oracle::register_equiv(), equiv_oracle::register_initial_def(), regstat_compute_calls_crossed(), regstat_compute_ri(), release_ssa_name_after_update_ssa(), remove_unused_locals(), repair_loop_structures(), replace_read(), rewrite_into_loop_closed_ssa_1(), same_succ_alloc(), sbr_lazy_vector::sbr_lazy_vector(), scan_sharing_clauses(), scc_copy_prop::scc_copy_prop(), scc_visit(), sese_build_liveouts(), range_def_chain::set_import(), dom_oracle::set_one_relation(), set_ref_loaded_in_loop(), set_ref_stored_in_loop(), ipa_icf::sem_item::setup(), simplify_gimple_switch_label_vec(), solution_set_expand(), solve_graph(), split_function(), sra_initialize(), ssa_conflicts_add_one(), ssa_lazy_cache::ssa_lazy_cache(), ssa_prop_init(), start_recording_case_labels(), store_motion_loop(), substitute_and_fold_dom_walker::substitute_and_fold_dom_walker(), tail_merge_optimize(), fwd_jt_path_registry::thread_block_1(), thread_jump(), tm_memopt_init_sets(), tm_region_init(), tm_region_init_0(), tree_if_conversion(), tree_lower_complex(), tree_ssa_iv_optimize_init(), tree_unroll_loops_completely(), tree_unroll_loops_completely_1(), tree_unswitch_single_loop(), try_head_merge_bb(), update_alias_info_with_stack_vars(), update_list::update_list(), update_ssa(), use_pointer_for_field(), value_dies_in_block_x(), verify_non_ssa_vars(), verify_sese(), ssa_name_limit_t::visit_phi(), vt_initialize(), walk_aliased_vdefs_1(), and word_dce_process_block().
#define bitmap_compl_and | ( | DST, | |
A, | |||
B ) |
#define BITMAP_ELEMENT_ALL_BITS (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS) |
Number of bits in each actual element of a bitmap.
Referenced by base_bitmap_view< T, Traits >::base_bitmap_view(), bitmap_bit_p(), bitmap_clear_bit(), bitmap_clear_range(), bitmap_first_set_bit_worker(), bitmap_get_aligned_chunk(), bitmap_last_set_bit(), bitmap_print(), bitmap_set_aligned_chunk(), bitmap_set_bit(), bitmap_set_range(), bmp_iter_and(), bmp_iter_and_compl(), bmp_iter_and_compl_init(), bmp_iter_and_init(), bmp_iter_set(), bmp_iter_set_init(), and debug_bitmap_elt_file().
#define BITMAP_ELEMENT_WORDS ((128 + BITMAP_WORD_BITS - 1) / BITMAP_WORD_BITS) |
Number of words to use for each element in the linked list.
Referenced by base_bitmap_view< T, Traits >::base_bitmap_view(), bitmap_and(), bitmap_and_compl(), bitmap_and_compl_into(), bitmap_and_into(), bitmap_bit_p(), bitmap_clear_bit(), bitmap_clear_range(), bitmap_compl_and_into(), bitmap_count_bits_in_word(), bitmap_count_unique_bits(), bitmap_element_zerop(), bitmap_elt_copy(), bitmap_elt_ior(), bitmap_equal_p(), bitmap_first_set_bit_worker(), bitmap_get_aligned_chunk(), bitmap_hash(), bitmap_intersect_compl_p(), bitmap_intersect_p(), bitmap_ior_and_compl(), bitmap_ior_and_compl_into(), bitmap_ior_and_into(), bitmap_last_set_bit(), bitmap_print(), bitmap_set_aligned_chunk(), bitmap_set_bit(), bitmap_set_range(), bitmap_single_bit_set_p(), bitmap_xor(), bitmap_xor_into(), bmp_iter_and(), bmp_iter_and_compl(), bmp_iter_and_compl_init(), bmp_iter_and_init(), bmp_iter_set(), bmp_iter_set_init(), and debug_bitmap_elt_file().
#define BITMAP_FREE | ( | BITMAP | ) |
Do any cleanup needed on a bitmap when it is no longer used.
Referenced by add_scope_conflicts(), analyze_all_variable_accesses(), loop_distribution::bb_top_order_init(), bb_valid_for_noce_process_p(), bbs_ok_for_cmove_arith(), strlen_pass::before_dom_children(), bitmap_ior_into_and_free(), calculate_bb_reg_pressure(), can_move_insns_across(), canonicalize_induction_variables(), symtab_node::check_ifunc_callee_symtab_nodes(), cleanup_empty_eh_merge_phis(), cleanup_tree_cfg_noloop(), clear_edges_for_node(), coalesce_bitint(), combine_stack_adjustments(), combine_stack_adjustments_for_block(), compute_builtin_object_size(), compute_dependence_clique(), compute_live_vars(), consider_split(), dce_process_block(), dead_debug_global_finish(), dead_debug_local_finish(), dead_debug_reset_uses(), dead_or_predicable(), decompose_multiword_subregs(), delete_cluster(), delete_update_ssa(), delete_var_map(), delete_worklist(), deps_ok_for_redirect_from_bb_to_bb(), determine_dominators_for_sons(), determine_group_iv_cost_cond(), determine_group_iv_costs(), determine_known_aggregate_parts(), df_analyze(), df_analyze_1(), df_analyze_loop(), df_chain_free(), df_chain_fully_remove_problem(), df_finish_pass(), df_live_free(), df_lr_free(), df_rd_transfer_function(), df_scan_free(), df_scan_free_internal(), df_set_blocks(), df_word_lr_free(), df_worklist_dataflow_doublequeue(), ipa_icf::sem_item_optimizer::do_congruence_step(), do_rpo_vn_1(), do_store_motion(), doloop_optimize(), dse_step1(), dse_step3(), dse_step3_scan(), dse_step7(), duplicate_loop_body_to_header_edge(), end_recording_case_labels(), execute_lower_omp(), execute_split_functions(), ext_dce_finish(), ext_dce_process_bb(), fast_dce(), finalize(), find_call_stack_args(), find_invariant_insn(), find_split_points(), find_tail_calls(), fini_object_sizes(), finish_out_of_ssa(), finished_with_expr(), free_gcse_mem(), free_inv_motion_data(), free_loop_data(), free_loops(), free_mem(), free_sese_info(), free_store_info(), free_temp_expr_table(), get_loop_body_in_if_conv_order(), get_loop_hot_path(), get_tm_region_blocks(), gimple_infer_range::gimple_infer_range(), gimple_lower_bitint(), gimplify_omp_for(), gimplify_size_expressions(), hoist_code(), insert_phi_nodes(), insert_updated_phi_nodes_for(), intra_create_variable_infos(), ipa_sra_summarize_function(), ipa_tm_propagate_irr(), ipa_tm_scan_irr_blocks(), ipa_tm_scan_irr_function(), ipa_tm_transform_calls(), ira_reassign_pseudos(), iterate_fix_dominators(), iv_ca_free(), label_visit(), lto_output(), maybe_lower_iteration_bound(), move_sese_region_to_fn(), noce_convert_multiple_sets(), oacc_entry_exit_ok(), optimize_va_list_gpr_fpr_size(), uninit_analysis::overlap(), param_change_prob(), partition_free(), partition_view_fini(), peephole2_optimize(), perform_tree_ssa_dce(), perform_var_substitution(), prescan_insns_for_dce(), process_replaceable(), prune_unused_phi_nodes(), regstat_compute_calls_crossed(), regstat_compute_ri(), regstat_free_ri(), ipa_icf::sem_item_optimizer::release_split_map(), ipa_ref_opt_summary_t::remove(), same_succ::remove(), remove_from_partition_kill_list(), remove_preds_and_fake_succs(), remove_unused_locals(), repair_loop_structures(), replace_read(), set_group_iv_cost(), simplify_gimple_switch_label_vec(), solve_graph(), split_function(), sra_deinitialize(), ssa_conflicts_merge(), ssa_prop_fini(), store_motion_loop(), tail_merge_optimize(), fwd_jt_path_registry::thread_block_1(), thread_jump(), tm_region_init(), translate_vuse_through_block(), tree_if_conversion(), tree_lower_complex(), tree_optimize_tail_calls_1(), tree_ssa_iv_optimize_finalize(), tree_unroll_loops_completely(), tree_unroll_loops_completely_1(), tree_unswitch_single_loop(), unify_nodes(), union_stack_vars(), union_static_var_sets(), update_alias_info_with_stack_vars(), validate_arglist(), verify_non_ssa_vars(), verify_sese(), vt_finalize(), walk_aliased_vdefs(), walk_non_aliased_vuses(), word_dce_process_block(), crc_optimization::~crc_optimization(), eliminate_dom_walker::~eliminate_dom_walker(), mark_def_dom_walker::~mark_def_dom_walker(), scc_copy_prop::~scc_copy_prop(), ipa_icf::sem_item::~sem_item(), ssa_lazy_cache::~ssa_lazy_cache(), ssa_name_limit_t::~ssa_name_limit_t(), substitute_and_fold_dom_walker::~substitute_and_fold_dom_walker(), and tree_loop_interchange::~tree_loop_interchange().
#define BITMAP_GGC_ALLOC bitmap_gc_alloc |
#define BITMAP_WORD_BITS (CHAR_BIT * SIZEOF_LONG * 1u) |
BITMAP_WORD_BITS needs to be unsigned, but cannot contain casts as it is used in preprocessor directives -- hence the 1u.
Referenced by base_bitmap_view< T, Traits >::base_bitmap_view(), bitmap_bit_p(), bitmap_clear_bit(), bitmap_clear_range(), bitmap_first_set_bit_worker(), bitmap_get_aligned_chunk(), bitmap_last_set_bit(), bitmap_popcount(), bitmap_print(), bitmap_set_aligned_chunk(), bitmap_set_bit(), bitmap_set_range(), bmp_iter_and(), bmp_iter_and_compl(), bmp_iter_and_compl_init(), bmp_iter_and_init(), bmp_iter_set(), bmp_iter_set_init(), and debug_bitmap_elt_file().
#define EXECUTE_IF_AND_COMPL_IN_BITMAP | ( | BITMAP1, | |
BITMAP2, | |||
MIN, | |||
BITNUM, | |||
ITER ) |
Loop over all the bits set in BITMAP1 & ~BITMAP2, starting with MIN and setting BITNUM to the bit number. ITER is a bitmap iterator. BITNUM should be treated as a read-only variable as it contains loop state.
Referenced by compute_transp(), find_refs_for_sm(), sese_reset_debug_liveouts(), verify_ssaname_freelists(), and write_node_summary_p().
#define EXECUTE_IF_AND_IN_BITMAP | ( | BITMAP1, | |
BITMAP2, | |||
MIN, | |||
BITNUM, | |||
ITER ) |
Loop over all the bits set in BITMAP1 & BITMAP2, starting with MIN and setting BITNUM to the bit number. ITER is a bitmap iterator. BITNUM should be treated as a read-only variable as it contains loop state.
Referenced by bitmap_find_leader(), path_range_query::compute_ranges_in_block(), iv_ca_narrow(), pre_expr_DFS(), loop_distribution::share_memory_accesses(), stream_out_bitmap(), and update_live_info().
#define EXECUTE_IF_SET_IN_BITMAP | ( | BITMAP, | |
MIN, | |||
BITNUM, | |||
ITER ) |
If you are modifying a bitmap you are currently iterating over you have to ensure to - never remove the current bit; - if you set or clear a bit before the current bit this operation will not affect the set of bits you are visiting during the iteration; - if you set or clear a bit after the current bit it is unspecified whether that affects the set of bits you are visiting during the iteration. If you want to remove the current bit you can delay this to the next iteration (and after the iteration in case the last iteration is affected).
Loop over all bits set in BITMAP, starting with MIN and setting BITNUM to the bit number. ITER is a bitmap iterator. BITNUM should be treated as a read-only variable as it contains loop state.
See sbitmap.h for the other definition of EXECUTE_IF_SET_IN_BITMAP.
Referenced by add_dependence(), add_exit_phis(), add_exit_phis_var(), add_iv_candidate_for_bivs(), equiv_oracle::add_partial_equiv(), add_partitioned_vars_to_ptset(), add_range_and_copies_from_move_list(), add_scope_conflicts_1(), path_range_query::adjust_for_non_null_uses(), analyze_all_variable_accesses(), apply_clusters(), assign_by_spills(), assume_query::assume_query(), bitmap_find_leader(), bitmap_first_set_bit(), bitmap_print(), bitmap_value_replace_in_set(), build_insn_chain(), calculate_bb_reg_pressure(), calculate_gen_cands(), calculate_loop_reg_pressure(), can_move_insns_across(), cand_trans_fun(), rt_bb_visited::check(), loop_distribution::classify_partition(), clear_modify_mem_tables(), coalesce_allocnos(), coalesce_bitint(), color_allocnos(), color_pass(), compute_builtin_object_size(), compute_dependence_clique(), path_range_query::compute_exit_dependencies(), compute_idf(), compute_live_loop_exits(), compute_optimized_partition_bases(), path_range_query::compute_ranges_in_block(), compute_transp(), control_parents_preserved_p(), create_edge_for_control_dependence(), create_new_ivs(), dead_debug_local_finish(), dead_debug_reset_uses(), dead_or_predicable(), debug_ter(), decompose_multiword_subregs(), delete_update_ssa(), determine_group_iv_costs(), determine_set_costs(), df_bb_refs_collect(), df_chain_create_bb_process_use(), df_chain_finalize(), df_chain_remove_problem(), df_dump_region(), df_entry_block_defs_collect(), df_exit_block_uses_collect(), df_insn_rescan_all(), df_live_alloc(), df_live_finalize(), df_live_init(), df_live_local_compute(), df_live_reset(), df_lr_alloc(), df_lr_init(), df_lr_local_compute(), df_lr_reset(), df_md_alloc(), df_md_init(), df_md_local_compute(), df_md_reset(), df_mir_alloc(), df_mir_local_compute(), df_mir_reset(), df_note_compute(), df_print_regset(), df_process_deferred_rescans(), df_rd_alloc(), df_rd_confluence_n(), df_rd_dump_defs_set(), df_rd_init_solution(), df_rd_local_compute(), df_rd_transfer_function(), df_reorganize_refs_by_insn(), df_reorganize_refs_by_reg_by_insn(), df_set_blocks(), df_word_lr_alloc(), df_word_lr_init(), df_word_lr_local_compute(), df_word_lr_reset(), df_worklist_dataflow(), ipa_icf::sem_item_optimizer::do_congruence_step(), do_ds_constraint(), do_remat(), do_sd_constraint(), dominated_by_forbidden(), dse_step2(), dse_step3(), back_threader::dump(), equiv_chain::dump(), path_range_query::dump(), phi_group::dump(), range_def_chain::dump(), dump_decl_set(), dump_live_info(), dump_names_replaced_by(), dump_pred_graph(), dump_solution_for_var(), dump_static_vars_set_to_file(), dump_tm_memopt_set(), dump_update_ssa(), dump_varinfo(), duplicate_loop_body_to_header_edge(), eliminate_indirect_cycles(), end_recording_case_labels(), ext_dce_init(), find_all_spills_for(), find_clusters_1(), find_hard_regno_for_1(), find_identical_invariants(), find_induction_variables(), find_moveable_pseudos(), find_or_generate_expression(), back_threader::find_paths_to_names(), find_reload_regno_insns(), find_same_succ_bb(), find_single_drs(), find_uses_to_rename(), find_what_var_points_to(), finished_with_expr(), fix_bb_live_info(), form_allocno_hard_regs_nodes_forest(), free_loop_data(), free_mem(), generate_summary(), get_inv_cost(), get_representative_for(), gimple_lower_bitint(), gimple_purge_all_dead_abnormal_call_edges(), gimple_purge_all_dead_eh_edges(), gimplify_size_expressions(), graphds_dfs(), graphds_scc(), hoist_code(), hoist_memory_references(), improve_allocation(), improve_inheritance(), inherit_in_ebb(), init_allocno_threads(), initialize_constant_pool_replacements(), insert_phi_nodes_for(), insert_updated_phi_nodes_for(), ipa_pta_execute(), ipa_tm_scan_irr_function(), ira_reuse_stack_slot(), iv_ca_add_group(), iv_ca_narrow(), iv_ca_prune(), iv_ca_replace(), iv_ca_set_add_invs(), iv_ca_set_remove_invs(), live_track_init(), live_track_process_def(), lra_assign(), lra_constraints(), lra_dump_bitmap_with_title(), lra_eliminate(), lra_split_hard_reg_for(), lra_undo_inheritance(), mark_control_dependent_edges_necessary(), mark_def_interesting(), fwd_jt_path_registry::mark_threaded_blocks(), ssa_lazy_cache::merge(), merge_overlapping_regs(), move_invariant_reg(), move_sese_region_to_fn(), multi_block_pseudo_p(), nearest_common_dominator_for_set(), nearest_common_dominator_of_uses(), number_of_rw_in_partition(), oacc_do_neutering(), optimize_inline_calls(), param_change_prob(), partition_view_bitmap(), partition_view_fini(), perform_var_substitution(), loop_distribution::pg_add_dependence_edges(), pp_points_to_solution(), pre_expr_DFS(), prepare_names_to_update(), print_loop_title(), process_bb_lives(), process_bb_node_lives(), phi_analyzer::process_phi(), propagate_freq(), propagate_pseudo_copies(), prune_insertions_deletions(), prune_unused_phi_nodes(), record_biv_for_address_use(), ref_indep_loop_p(), reg_set_to_hard_reg_set(), register_new_update_set(), regrename_analyze(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), regstat_compute_ri(), release_defs_bitset(), remove_unreachable::remove_and_update_globals(), remove_edge_and_dominated_blocks(), remove_some_program_points_and_update_live_ranges(), remove_some_program_points_and_update_live_ranges(), remove_unused_ivs(), rewrite_blocks(), same_phi_alternatives(), same_succ_flush_bbs(), same_succ_hash(), scc_visit(), sese_insert_phis_for_liveouts(), set_cluster(), set_move_mark(), set_uids_in_ptset(), set_union_with_increment(), setup_live_pseudos_and_spill_after_risky_transforms(), setup_profitable_hard_regs(), setup_try_hard_regno_pseudos(), loop_distribution::share_memory_accesses(), should_hoist_expr_to_dom(), solution_set_expand(), spill_for(), spill_hard_reg_in_range(), spill_soft_conflicts(), pcom_worker::split_data_refs_to_components(), ssa_conflicts_merge(), tm_memopt_compute_antic(), topo_visit(), tree_unroll_loops_completely(), try_add_cand_for(), try_shrink_wrapping_separate(), undistribute_ops_list(), undo_optional_reloads(), union_stack_vars(), update_debug_stmts(), update_ebb_live_info(), assume_query::update_parms(), update_ssa(), loop_distribution::update_type_for_merge(), update_worklist(), relation_oracle::valid_equivs(), vect_lower_load_permutations(), verify_all_sra_access_forests(), visit_conflict(), and vn_valnum_from_value_id().
typedef unsigned long BITMAP_WORD |
Fundamental storage type for bitmap.
|
extern |
Allocate and free bitmaps from obstack, malloc and gc'd memory.
|
extern |
Boolean operations on bitmaps. The _into variants are two operand versions that modify the first source operand. The other variants are three operand versions that to not destroy the source bitmaps. The operations supported are &, & ~, |, ^.
DST = A & B.
References a, b, bitmap_copy(), BITMAP_ELEMENT_WORDS, bitmap_elt_clear_from(), bitmap_list_insert_element_after(), bitmap_element::bits, gcc_assert, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, NULL, and r.
Referenced by add_ranges_and_copies(), compute_laterin(), compute_nearerout(), copy_fixed_regs(), df_live_init(), df_live_transfer_function(), df_md_transfer_function(), do_remat(), emit_common_heads_for_components(), emit_common_tails_for_components(), insert_prologue_epilogue_for_components(), move_insn_for_shrink_wrap(), spread_components(), and update_ebb_live_info().
|
extern |
DST = A & ~B
References a, b, bitmap_clear(), BITMAP_ELEMENT_WORDS, bitmap_elt_clear_from(), bitmap_elt_copy(), bitmap_empty_p(), bitmap_list_insert_element_after(), bitmap_list_unlink_element(), bitmap_element::bits, changed, gcc_assert, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, NULL, and r.
Referenced by bitmap_ior_and_compl(), bitmap_ior_and_compl_into(), bitmap_set_subtract_expressions(), change_loop(), compute_earliest(), compute_farthest(), compute_insert_delete(), compute_rev_insert_delete(), df_rd_confluence_n(), df_rd_transfer_function(), df_set_blocks(), disqualify_problematic_components(), do_hoist_insertion(), emit_common_heads_for_components(), emit_common_tails_for_components(), find_split_points(), hoist_memory_references(), insert_prologue_epilogue_for_components(), live_trans_fun(), propagate_pseudo_copies(), prune_expressions(), prune_unused_phi_nodes(), sm_seq_valid_bb(), solve_graph(), spread_components(), and try_shrink_wrapping_separate().
|
extern |
A &= ~B. Returns true if A changes
References a, b, bitmap_clear(), BITMAP_ELEMENT_WORDS, bitmap_empty_p(), bitmap_list_unlink_element(), bitmap_element::bits, changed, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and r.
Referenced by bitmap_set_subtract_values(), build_insn_chain(), calculate_gen_cands(), can_move_insns_across(), combine_and_move_insns(), decompose_multiword_subregs(), determine_group_iv_costs(), do_remat(), gimple_lower_bitint(), hoist_memory_references(), insert_phi_nodes_for(), prune_unused_phi_nodes(), scan_reads(), spill_pseudos(), store_motion_loop(), update_live_info(), and update_worklist().
|
extern |
A &= B. Return true if A changed.
References a, b, BITMAP_ELEMENT_WORDS, bitmap_elt_clear_from(), bitmap_list_unlink_element(), bitmap_element::bits, changed, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and r.
Referenced by can_move_insns_across(), cand_av_con_fun_n(), compute_antic_aux(), compute_live_loop_exits(), dead_or_predicable(), df_analyze(), df_live_finalize(), df_live_transfer_function(), df_md_transfer_function(), df_mir_confluence_n(), df_rd_dump_defs_set(), df_rd_transfer_function(), loop_distribution::distribute_loop(), do_hoist_insertion(), dse_confluence_n(), find_moveable_pseudos(), live_con_fun_0(), replace_read(), tm_memopt_compute_antin(), and tm_memopt_compute_avin().
|
extern |
Return true if a bit is set in a bitmap.
Return whether a bit is set within a bitmap.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, bitmap_list_find_element(), bitmap_tree_find_element(), BITMAP_WORD_BITS, bitmap_element::bits, and bitmap_head::indx.
|
extern |
Clear a bitmap by freeing up the linked list.
Clear a bitmap by freeing all its elements.
References bitmap_elt_clear_from(), bitmap_tree_splay(), head::first, gcc_checking_assert, bitmap_element::indx, NULL, and bitmap_element::prev.
Referenced by add_candidate_1(), add_dependence(), add_exit_phis(), add_partitioned_vars_to_ptset(), add_scope_conflicts_1(), add_store_equivs(), analyze_function(), assign_by_spills(), mark_def_dom_walker::before_dom_children(), bitmap_and_compl(), bitmap_and_compl_into(), bitmap_compl_and_into(), bitmap_copy(), bitmap_ior_into_and_free(), bitmap_move(), bitmap_obstack_free(), bitmap_release(), bitmap_set_free(), bitmap_union_of_preds(), bitmap_union_of_succs(), bitmap_xor(), bitmap_xor_into(), break_superblocks(), build_insn_chain(), build_pred_graph(), calculate_equiv_gains(), calculate_gen_cands(), calculate_live_on_exit(), cand_av_con_fun_0(), cand_pav_con_fun_0(), cand_trans_fun(), canonicalize_induction_variables(), cleanup_control_flow_pre(), ssa_lazy_cache::clear(), control_dependences::clear_control_dependence_bitmap(), update_list::clear_failures(), clear_modify_mem_tables(), coalesced_allocno_conflict_p(), compute_antic(), compute_antinout_edge(), compute_available(), compute_builtin_object_size(), compute_earliest(), compute_farthest(), compute_live_vars_1(), compute_topo_order(), cse_main(), dce_process_block(), dead_debug_global_init(), dead_debug_local_init(), decompose_multiword_subregs(), destroy_live_vars(), determine_group_iv_cost_cond(), determine_group_iv_costs(), df_chain_create_bb(), df_chain_remove_problem(), df_compact_blocks(), df_get_eh_block_artificial_uses(), df_get_entry_block_def_set(), df_get_exit_block_use_set(), df_get_regular_block_artificial_uses(), df_insn_rescan_all(), df_live_alloc(), df_live_free_bb_info(), df_live_init(), df_live_local_compute(), df_live_reset(), df_live_verify_solution_end(), df_live_verify_transfer_functions(), df_lr_alloc(), df_lr_free_bb_info(), df_lr_init(), df_lr_local_compute(), df_lr_reset(), df_lr_verify_solution_end(), df_lr_verify_transfer_functions(), df_md_alloc(), df_md_bb_local_compute_process_def(), df_md_free_bb_info(), df_md_local_compute(), df_md_reset(), df_mir_alloc(), df_mir_confluence_0(), df_mir_free_bb_info(), df_mir_reset(), df_mir_verify_solution_end(), df_note_bb_compute(), df_note_compute(), df_process_deferred_rescans(), df_rd_alloc(), df_rd_bb_local_compute(), df_rd_dump_defs_set(), df_rd_free_bb_info(), df_rd_init_solution(), df_rd_transfer_function(), df_scan_free_internal(), df_set_blocks(), df_word_lr_alloc(), df_word_lr_free_bb_info(), df_word_lr_init(), df_word_lr_local_compute(), df_word_lr_reset(), df_worklist_dataflow(), do_hoist_insertion(), do_remat(), draw_cfg_nodes_no_loops(), dse_step2(), dse_step3(), dse_step3_scan(), dse_step5(), phi_analyzer::dump(), eh_region_outermost(), eliminate_phi(), eliminate_unnecessary_stmts(), emit_common_heads_for_components(), emit_common_tails_for_components(), expand_call(), ext_dce_finish(), ext_dce_rd_transfer_n(), fast_dce(), fill_always_executed_in(), find_call_stack_args(), find_moveable_pseudos(), find_removable_extensions(), find_replaceable_in_bb(), find_what_var_points_to(), fini_reassoc(), finish_live_solver(), finish_reg_info(), finish_remat_bb_data(), fix_bb_placements(), fold_marked_statements(), free_chain_data(), free_loop_data(), free_loop_data(), get_address_cost(), get_computation_cost(), get_live_on_other_edges(), get_nonnull_args(), hoist_code(), hoist_memory_references(), inherit_in_ebb(), init_alias_analysis(), init_dce(), init_live_subregs(), init_rename_info(), init_separate_shrink_wrap(), init_update_ssa(), initialize_uninitialized_regs(), inline_small_functions(), inverted_rev_post_order_compute(), ira_restore_scratches(), crc_optimization::is_crc_checked(), live_track_add_partition(), live_track_clear_base_vars(), live_worklist(), lra(), lra_assign(), lra_coalesce(), lra_eliminate(), lra_inheritance(), lra_live_ranges_finish(), lra_remat(), lra_split_hard_reg_for(), make_edges(), mark_dfs_back_edges(), mark_reachable_handlers(), vect_optimize_slp_pass::materialize(), back_threader::maybe_thread_block(), multiplier_allowed_in_address_p(), oacc_entry_exit_ok(), perform_tree_ssa_dce(), perform_var_substitution(), post_order_compute(), prescan_insns_for_dce(), process_bb_lives(), phi_analyzer::process_phi(), propagate_necessity(), propagate_pseudo_copies(), prune_clobbered_mems(), prune_expressions(), prune_insertions_deletions(), prune_unused_phi_nodes(), ana::reachability< GraphTraits >::reachability(), reachable_at_most_once(), equiv_oracle::register_equiv(), regrename_analyze(), remove_path(), remove_reachable_equiv_notes(), remove_some_program_points_and_update_live_ranges(), remove_some_program_points_and_update_live_ranges(), path_oracle::reset_path(), same_succ_reset(), sarif_artifact::sarif_artifact(), sarif_location_relationship::sarif_location_relationship(), scc_info::scc_info(), setup_live_bytes_from_ref(), setup_try_hard_regno_pseudos(), should_hoist_expr_to_dom(), single_pred_before_succ_order(), spill_for(), spill_pseudos(), split_all_insns(), spread_components(), vect_optimize_slp_pass::start_choosing_layouts(), tail_duplicate(), jump_threader::thread_across_edge(), thread_prologue_and_epilogue_insns(), tree_dce_init(), tree_unroll_loops_completely(), tree_unroll_loops_completely_1(), try_peel_loop(), try_unroll_loop_completely(), undistribute_ops_list(), unroll_loop_runtime_iterations(), unroll_loop_stupid(), update_bad_spill_attribute(), update_dominators_in_loop(), update_live_info(), update_ssa(), update_worklist(), vect_slp_check_for_roots(), vect_transform_slp_perm_load_1(), verify_loop_structure(), verify_ssa(), vt_find_locations(), word_dce_process_block(), crc_optimization::xor_calculates_crc(), and auto_bitmap::~auto_bitmap().
Clear a single bit in a bitmap. Return true if the bit changed.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, bitmap_element_zerop(), bitmap_list_find_element(), bitmap_list_unlink_element(), bitmap_tree_find_element(), bitmap_tree_unlink_element(), BITMAP_WORD_BITS, bitmap_element::bits, and bitmap_head::indx.
Referenced by add_range_and_copies_from_move_list(), add_scope_conflicts_1(), dom_opt_dom_walker::after_dom_children(), apply_clusters(), assign_by_spills(), assign_temporarily(), bitmap_clear_range(), bitmap_set_subtract_values(), bitmap_value_replace_in_set(), loop_distribution::break_alias_scc_partitions(), build_insn_chain(), build_pred_graph(), calculate_bb_reg_pressure(), calculate_gen_cands(), check_argument_store(), check_for_plus_in_loops_1(), clean(), cleanup_control_flow_pre(), ssa_lazy_cache::clear_range(), collect_object_sizes_for(), color_pass(), compute_antic(), compute_antic_aux(), compute_live_vars_1(), compute_transp(), condense_visit(), create_variable_info_for_1(), cse_extended_basic_block(), cselib_expand_value_rtx_1(), dead_debug_insert_temp(), dead_debug_reset_uses(), df_clear_bb_dirty(), df_insn_delete(), df_insn_info_delete(), df_insn_rescan(), df_insn_rescan_debug_internal(), df_lr_bb_local_compute(), df_md_bb_local_compute_process_def(), df_md_simulate_artificial_defs_at_top(), df_md_simulate_one_insn(), df_mir_simulate_one_insn(), df_note_bb_compute(), df_notes_rescan(), df_simulate_defs(), df_simulate_finalize_backwards(), df_simulate_initialize_backwards(), df_word_lr_mark_ref(), disqualify_candidate(), do_remat(), find_moveable_pseudos(), back_threader::find_paths_to_names(), fix_bb_live_info(), fix_bb_placements(), gimplify_size_expressions(), hoist_memory_references(), insert_store(), insert_updated_phi_nodes_for(), invalidate_insn_data_regno_info(), iv_ca_set_no_cp(), path_oracle::killing_def(), ssa_name_limit_t::leave_phi(), live_track_remove_partition(), loe_visit_block(), lra_create_live_ranges_1(), lra_pop_insn(), make_hard_regno_dead(), mark_elimination(), mark_reachable_blocks(), mark_regno_dead(), mark_regno_death(), prepare_names_to_update(), propagate_freq(), prune_clobbered_mems(), prune_insertions_deletions(), uninit_analysis::prune_phi_opnds(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), release_defs_bitset(), reload(), remove_unreachable::remove_and_update_globals(), remove_edge_and_dominated_blocks(), remove_from_partition_kill_list(), same_succ_flush_bb(), scan_reads(), scan_rtx_reg(), scan_stores(), gori_map::set_range_invariant(), set_reg_known_equiv_p(), ssa_propagation_engine::simulate_stmt(), sm_seq_valid_bb(), solve_graph(), spread_components(), ssa_conflicts_merge(), ssa_propagation_engine::ssa_propagate(), tree_transform_and_unroll_loop(), try_peel_loop(), try_unroll_loop_completely(), undistribute_bitref_for_vector(), undo_optional_reloads(), unify_nodes(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), update_bb_reg_pressure(), update_ebb_live_info(), update_lives(), update_worklist(), and vt_find_locations().
|
extern |
Return and clear the bit number of the first set bit in the bitmap. The bitmap must be non-empty.
References a, and bitmap_first_set_bit_worker().
Referenced by cleanup_tree_cfg_noloop(), compute_idf(), df_worklist_dataflow_doublequeue(), do_rpo_vn_1(), rewrite_blocks(), and simple_dce_from_worklist().
|
extern |
Clear COUNT bits from START in HEAD.
References bitmap_clear_bit(), BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, bitmap_list_find_element(), bitmap_list_unlink_element(), BITMAP_WORD_BITS, bitmap_element::bits, count, gcc_checking_assert, i, bitmap_element::indx, and bitmap_element::next.
Referenced by clear_live_bytes_for_ref(), df_rd_bb_local_compute_process_def(), df_rd_confluence_n(), df_rd_simulate_artificial_defs_at_top(), df_rd_simulate_one_insn(), df_rd_transfer_function(), df_simulate_one_insn_forwards(), ext_dce_process_sets(), lra_create_live_ranges_1(), mark_effect(), and remove_preds_and_fake_succs().
|
extern |
|
extern |
Copy a bitmap to another bitmap.
References bitmap_clear(), bitmap_element_allocate(), bitmap_element::bits, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and bitmap_element::prev.
Referenced by equiv_oracle::add_equiv_to_block(), add_ranges_and_copies(), analyze_all_variable_accesses(), bitmap_and(), bitmap_compl_and_into(), bitmap_intersection_of_preds(), bitmap_intersection_of_succs(), bitmap_ior_and_compl(), bitmap_set_copy(), bitmap_union_of_preds(), bitmap_union_of_succs(), build_insn_chain(), calculate_bb_reg_pressure(), calculate_global_remat_bb_data(), calculate_loop_reg_pressure(), can_move_insns_across(), color_pass(), combine_stack_adjustments_for_block(), compute_builtin_object_size(), compute_earliest(), hybrid_jt_simplifier::compute_exit_dependencies(), path_range_query::compute_exit_dependencies(), compute_farthest(), compute_idf(), compute_laterin(), compute_nearerout(), path_range_query::compute_ranges(), consider_split(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), copy_static_var_set(), create_new_chain(), dce_process_block(), dead_debug_local_init(), df_chain_create_bb(), df_compact_blocks(), df_insn_rescan_all(), df_live_verify_solution_start(), df_live_verify_transfer_functions(), df_lr_confluence_0(), df_lr_init(), df_lr_local_compute(), df_lr_verify_solution_start(), df_lr_verify_transfer_functions(), df_md_confluence_0(), df_md_init(), df_mir_confluence_n(), df_mir_verify_solution_start(), df_note_bb_compute(), df_process_deferred_rescans(), df_rd_init_solution(), df_set_blocks(), df_update_entry_block_defs(), df_update_exit_block_uses(), df_word_lr_init(), loop_distribution::distribute_loop(), do_remat(), dse_confluence_0(), dse_confluence_n(), dse_step1(), dse_step3(), dse_transfer_function(), emit_common_heads_for_components(), emit_common_tails_for_components(), ext_dce_rd_transfer_n(), find_moveable_pseudos(), find_removable_extensions(), gen_call_used_regs_seq(), gimplify_size_expressions(), hoist_code(), hoist_memory_references(), init_separate_shrink_wrap(), label_visit(), fwd_jt_path_registry::mark_threaded_blocks(), back_threader::maybe_thread_block(), peephole2_optimize(), process_bb_lives(), propagate(), propagate_pseudo_copies(), prune_unused_phi_nodes(), regrename_analyze(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), remove_unreachable::remove_and_update_globals(), should_hoist_expr_to_dom(), simulate_backwards_to_point(), sm_seq_valid_bb(), solve_graph(), spill_for(), spread_components(), tm_memopt_compute_antin(), tm_memopt_compute_avin(), tree_unswitch_single_loop(), try_shrink_wrapping(), undo_optional_reloads(), and word_dce_process_block().
|
extern |
Count the number of bits set in the bitmap.
Count the number of bits set in the bitmap, and return it.
References a, bitmap_count_bits_in_word(), bitmap_element::bits, count, gcc_checking_assert, and bitmap_element::next.
Referenced by add_exit_phis(), add_to_worklist(), alloc_use_cost_map(), loop_distribution::break_alias_scc_partitions(), path_range_query::compute_exit_dependencies(), compute_partial_antic_aux(), consider_split(), create_new_ivs(), determine_group_iv_cost_cond(), df_rd_dump_defs_set(), dse_step2_init(), initialize_conflict_count(), instrument_decisions(), tree_switch_conversion::bit_test_cluster::is_beneficial(), partition_view_fini(), phi_translate_set(), prune_unused_phi_nodes(), release_defs_bitset(), sorted_array_from_bitmap_set(), and ipa_icf::sem_item_optimizer::traverse_congruence_split().
|
extern |
Count the number of unique bits set across the two bitmaps.
Count the number of unique bits set in A and B and return it.
References a, b, bitmap_count_bits_in_word(), BITMAP_ELEMENT_WORDS, bitmap_element::bits, count, bitmap_element::indx, and bitmap_element::next.
Referenced by initialize_conflict_count().
|
inline |
True if MAP is an empty bitmap.
References map.
Referenced by add_dependence(), add_partitioned_vars_to_ptset(), bitmap_and_compl(), bitmap_and_compl_into(), bitmap_compl_and_into(), bitmap_ior_and_compl(), bitmap_ior_and_compl_into(), bitmap_ior_and_into(), bitmap_single_bit_set_p(), build_insn_chain(), canonicalize_induction_variables(), cleanup_tree_cfg_noloop(), combine_and_move_insns(), compute_builtin_object_size(), compute_idf(), consider_split(), dce_process_block(), dead_or_predicable(), debug_ter(), decompose_multiword_subregs(), determine_group_iv_costs(), df_rd_dump_defs_set(), df_rd_transfer_function(), df_worklist_dataflow_doublequeue(), disqualify_problematic_components(), do_hoist_insertion(), do_rpo_vn_1(), dse_classify_store(), dse_step5(), equiv_chain::dump(), gori_map::dump(), range_def_chain::dump(), dump_components(), dump_pred_graph(), dump_update_ssa(), dump_varinfo(), eliminate_dom_walker::eliminate_cleanup(), eliminate_indirect_cycles(), emit_common_heads_for_components(), emit_common_tails_for_components(), empty_p(), ssa_lazy_cache::empty_p(), execute_update_addresses_taken(), ext_dce_process_sets(), find_call_stack_args(), back_threader::find_paths_to_names(), find_replaceable_exprs(), find_replaceable_in_bb(), generate_setjmp_warnings(), gimple_infer_range::gimple_infer_range(), infer_range_manager::has_range_p(), hoist_memory_references(), ifcombine_replace_cond(), insert_prologue_epilogue_for_components(), insert_updated_phi_nodes_for(), ipa_tm_scan_irr_function(), label_visit(), live_track_remove_partition(), lra(), lra_dump_bitmap_with_title(), lra_eliminate(), mem_might_overlap_already_clobbered_arg_p(), move_insn_for_shrink_wrap(), optimize_va_list_gpr_fpr_size(), sarif_artifact::populate_roles(), pp_points_to_solution(), phi_analyzer::process_phi(), propagate(), propagate_pseudo_copies(), prune_unused_phi_nodes(), pt_solution_empty_p(), release_defs_bitset(), reload(), remove_unreachable::remove_and_update_globals(), remove_from_partition_kill_list(), remove_inheritance_pseudos(), repair_loop_structures(), replace_read(), rewrite_blocks(), rewrite_into_loop_closed_ssa_1(), simple_dce_from_worklist(), sm_seq_valid_bb(), solve_constraints(), solve_graph(), spill_for(), split_function(), spread_components(), ssa_propagation_engine::ssa_propagate(), store_motion_loop(), substitute_and_fold_engine::substitute_and_fold(), tree_unroll_loops_completely(), try_shrink_wrapping_separate(), undistribute_bitref_for_vector(), undo_optional_reloads(), fwd_jt_path_registry::update_cfg(), update_live_info(), update_ssa(), validate_arglist(), and word_dce_process_block().
|
extern |
True if two bitmaps are identical.
Return true if two bitmaps are identical. We do not bother with a check for pointer equality, as that never occurs in practice.
References a, b, BITMAP_ELEMENT_WORDS, bitmap_element::bits, gcc_checking_assert, bitmap_element::indx, and bitmap_element::next.
Referenced by bitmap_ior_and_compl(), bitmap_set_equal(), dce_process_block(), df_entry_block_bitmap_verify(), df_exit_block_bitmap_verify(), df_live_verify_solution_end(), df_live_verify_transfer_functions(), df_lr_verify_solution_end(), df_lr_verify_transfer_functions(), df_mir_verify_solution_end(), df_rd_transfer_function(), df_scan_verify(), df_update_entry_block_defs(), df_update_exit_block_uses(), dump_varinfo(), equiv_class_hasher::equal(), same_succ::equal(), shared_bitmap_hasher::equal(), ext_dce_rd_transfer_n(), propagate(), dom_oracle::query(), equiv_oracle::query(), path_oracle::query(), path_oracle::register_equiv(), spread_components(), union_static_var_sets(), and word_dce_process_block().
|
extern |
Return the bit number of the first set bit in the bitmap. The bitmap must be non-empty.
References a, and bitmap_first_set_bit_worker().
Referenced by compute_trims(), same_succ::equal(), kill_expr(), nearest_common_dominator_for_set(), nearest_common_dominator_of_uses(), pt_solution_singleton_or_null_p(), same_succ_hash(), scc_visit(), set_livein_block(), ssa_propagation_engine::ssa_propagate(), and undistribute_ops_list().
|
extern |
BITMAP_WORD bitmap_get_aligned_chunk | ( | const_bitmap | head, |
unsigned int | chunk, | ||
unsigned int | chunk_size ) |
This is the get routine for viewing bitmap as a multi-bit sparse array. Return a set of CHUNK_SIZE consecutive bits from HEAD, starting at bit CHUNK * chunk_size.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, bitmap_list_find_element(), bitmap_tree_find_element(), BITMAP_WORD_BITS, bitmap_element::bits, CHAR_BIT, gcc_checking_assert, bitmap_head::indx, and pow2p_hwi().
Referenced by sbr_sparse_bitmap::bitmap_get_quad().
|
extern |
Compute bitmap hash (for purposes of hashing etc.)
Compute hash of bitmap (for purposes of hashing).
References BITMAP_ELEMENT_WORDS, bitmap_element::bits, head::first, gcc_checking_assert, bitmap_element::indx, and bitmap_element::next.
Referenced by equiv_class_lookup_or_add(), same_succ_hash(), shared_bitmap_add(), and shared_bitmap_lookup().
|
inline |
Initialize a bitmap header. OBSTACK indicates the bitmap obstack to allocate from, NULL for GC'd bitmap.
References bitmap_register(), head::first, NULL, obstack, and PASS_MEM_STAT.
Referenced by assign_by_spills(), auto_bitmap::auto_bitmap(), auto_bitmap::auto_bitmap(), bitmap_alloc(), bitmap_gc_alloc(), bitmap_set_new(), calculate_equiv_gains(), calculate_loop_reg_pressure(), compute_live_vars(), control_dependences::control_dependences(), create_new_chain(), create_remat_bb_data(), df_chain_create_bb(), df_live_alloc(), df_live_verify_solution_start(), df_live_verify_transfer_functions(), df_lr_alloc(), df_lr_verify_solution_start(), df_lr_verify_transfer_functions(), df_md_alloc(), df_md_local_compute(), df_mir_alloc(), df_mir_verify_solution_start(), df_note_compute(), df_rd_alloc(), df_rd_dump_defs_set(), df_rd_local_compute(), df_rd_transfer_function(), df_scan_alloc(), df_set_blocks(), df_word_lr_alloc(), do_hoist_insertion(), ext_dce_init(), find_exits(), find_moveable_pseudos(), find_removable_extensions(), init_live_reload_and_inheritance_pseudos(), init_lives(), init_rename_info(), initialize_lra_reg_info_element(), initiate_live_solver(), lra(), lra_assign(), lra_coalesce(), lra_eliminate(), lra_inheritance(), lra_live_ranges_init(), lra_remat(), lra_split_hard_reg_for(), mem_ref_alloc(), new_live_track(), new_tree_live_info(), regrename_analyze(), remove_scratches(), sbr_sparse_bitmap::sbr_sparse_bitmap(), spill_pseudos(), pair_fusion_bb_info::track_tombstone(), tree_ssa_lim_initialize(), update_bad_spill_attribute(), and update_ssa().
|
extern |
True if the complement of the second intersects the first (their AND_COMPL is non-empty).
Return true if A AND NOT B is not empty.
References a, b, BITMAP_ELEMENT_WORDS, bitmap_element::bits, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and NULL.
Referenced by assign_spill_hard_regs(), df_live_verify_transfer_functions(), df_lr_verify_transfer_functions(), and discover_loops().
|
extern |
True if the bitmaps intersect (their AND is non-empty).
Return true if A AND B is not empty.
References a, b, BITMAP_ELEMENT_WORDS, bitmap_element::bits, gcc_checking_assert, bitmap_element::indx, and bitmap_element::next.
Referenced by bb_valid_for_noce_process_p(), can_move_insns_across(), dead_or_predicable(), range_def_chain::def_chain_in_bitmap_p(), discover_loops(), doloop_optimize(), relation_chain_head::find_relation(), pt_solution_set(), pt_solutions_intersect_1(), dom_oracle::query(), path_oracle::query(), dom_oracle::register_transitives(), verify_ssaname_freelists(), and visit_loadstore().
|
extern |
DST = A | B. Return true if DST changes.
References a, b, bitmap_elt_clear_from(), bitmap_elt_ior(), changed, gcc_assert, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and NULL.
Referenced by assign_by_spills(), bitmap_ior_and_compl(), compute_code_hoist_vbeinout(), compute_pre_data(), emit_common_heads_for_components(), emit_common_tails_for_components(), label_visit(), lra_split_hard_reg_for(), oacc_do_neutering(), prune_unused_phi_nodes(), remove_some_program_points_and_update_live_ranges(), remove_some_program_points_and_update_live_ranges(), and spread_components().
|
extern |
DST = A | (B & ~C). Return true if DST changes.
DST = A | (FROM1 & ~FROM2). Return true if DST changes.
References a, b, bitmap_and_compl(), bitmap_copy(), BITMAP_ELEMENT_WORDS, bitmap_elt_clear_from(), bitmap_elt_ior(), bitmap_empty_p(), bitmap_equal_p(), bitmap_ior(), bitmap_element::bits, changed, gcc_assert, gcc_checking_assert, bitmap_element::indx, kill, bitmap_element::next, NULL, and r.
Referenced by cand_trans_fun(), compute_available(), compute_laterin(), compute_nearerout(), df_live_transfer_function(), df_lr_transfer_function(), df_md_transfer_function(), df_mir_transfer_function(), df_rd_transfer_function(), df_word_lr_transfer_function(), dse_transfer_function(), find_removable_extensions(), and live_trans_fun().
|
extern |
A |= (B & ~C). Return true if A changes.
References a, b, bitmap_and_compl(), BITMAP_ELEMENT_WORDS, bitmap_elt_copy(), bitmap_elt_ior(), bitmap_empty_p(), bitmap_ior_into(), bitmap_element::bits, changed, gcc_checking_assert, bitmap_element::indx, bitmap_head::indx, bitmap_element::next, and NULL.
Referenced by df_lr_confluence_n(), df_md_confluence_n(), live_con_fun_n(), loe_visit_block(), and propagate_pseudo_copies().
|
extern |
DST = A | (B & C). Return true if DST changes.
A |= (B & C). Return true if A changes.
References a, b, BITMAP_ELEMENT_WORDS, bitmap_elt_copy(), bitmap_elt_ior(), bitmap_empty_p(), bitmap_ior_into(), bitmap_element::bits, changed, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and NULL.
Referenced by df_md_local_compute(), and do_hoist_insertion().
|
extern |
A |= B. Return true if A changes.
References a, b, bitmap_elt_copy(), bitmap_elt_ior(), changed, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and NULL.
Referenced by range_def_chain::add_def_chain_to_bitmap(), add_dependence(), equiv_oracle::add_equiv_to_block(), add_new_name_mapping(), add_partitioned_vars_to_ptset(), add_scope_conflicts(), add_scope_conflicts_1(), analyze_memory_references(), assign_by_spills(), bitmap_ior_and_compl_into(), bitmap_ior_and_into(), gori_map::calculate_gori(), calculate_live_on_exit(), calculate_loop_reg_pressure(), cand_pav_con_fun_n(), coalesce_ssa_name(), compute_antic_aux(), compute_live_vars(), compute_live_vars_1(), compute_partial_antic_aux(), df_live_confluence_n(), df_lr_confluence_n(), df_md_confluence_n(), df_rd_bb_local_compute(), df_rd_confluence_n(), df_rd_transfer_function(), df_scan_blocks(), df_scan_verify(), df_simulate_fixup_sets(), df_word_lr_confluence_n(), ipa_icf::sem_item_optimizer::do_congruence_step(), do_ds_constraint(), do_hoist_insertion(), dse_step2_init(), dse_step3(), dse_step3_exit_block_scan(), phi_analyzer::dump(), ext_dce_rd_transfer_n(), find_split_points(), get_live_on_other_edges(), get_tm_region_blocks(), ipa_tm_scan_irr_function(), label_visit(), lra_assign(), lra_coalesce(), lra_constraints(), lra_eliminate(), lra_inheritance(), lra_split_hard_reg_for(), mark_replaceable(), gori_map::maybe_add_gori(), merge_chains(), merge_clusters(), merge_graph_nodes(), loop_distribution::partition_merge_into(), phi_analyzer::process_phi(), process_replaceable(), propagate_modified_regnos(), propagate_pseudo_copies(), pt_solution_ior_into(), loop_distribution::rdg_build_partitions(), record_important_candidates(), range_def_chain::register_dependency(), equiv_oracle::register_equiv(), path_oracle::register_equiv(), remove_unreachable::remove_and_update_globals(), remove_edge_and_dominated_blocks(), scan_reads(), set_bb_regs(), range_def_chain::set_import(), set_union_with_increment(), sm_seq_valid_bb(), solution_set_expand(), solve_add_graph_edge(), solve_graph(), spill_for(), spill_pseudos(), spill_pseudos(), ssa_conflicts_merge(), store_motion_loop(), tm_memopt_compute_antic(), tm_memopt_compute_available(), tree_unroll_loops_completely_1(), unify_nodes(), union_static_var_sets(), update_live_info(), update_reg_eliminate(), and verify_ssaname_freelists().
A |= B. Return true if A changes. Free B (re-using its storage for the result).
References a, b, bitmap_clear(), bitmap_elt_ior(), BITMAP_FREE, bitmap_list_insert_element_after(), bitmap_list_unlink_element(), changed, gcc_assert, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and NULL.
Referenced by condense_visit().
|
extern |
Return the bit number of the first set bit in the bitmap. The bitmap must be non-empty.
References a, BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, bitmap_popcount(), BITMAP_WORD_BITS, bitmap_element::bits, gcc_assert, gcc_checking_assert, bitmap_element::indx, and bitmap_element::next.
Referenced by compute_trims().
void bitmap_list_view | ( | bitmap | head | ) |
Change the view of the bitmap to list, or tree.
Convert bitmap HEAD from splay-tree view to linked-list view.
References bitmap_tree_listify_from(), bitmap_tree_rotate_right(), head::first, gcc_assert, and bitmap_element::prev.
Referenced by coalesce_ssa_name(), release_defs_bitset(), and update_ssa().
Move a bitmap to another bitmap.
References bitmap_clear(), gcc_assert, bitmap_element::next, register_overhead(), and release_overhead().
Referenced by df_rd_transfer_function(), and do_hoist_insertion().
|
extern |
Release an obstack allocated bitmap.
References bitmap_clear(), map, and release_overhead().
|
extern |
Initialize and release a bitmap obstack.
Initialize a bitmap obstack. If BIT_OBSTACK is NULL, initialize the default bitmap obstack.
References __alignof__, bitmap_default_obstack, bitmap_default_obstack_depth, bitmap_obstack::elements, bitmap_obstack::heads, NULL, bitmap_obstack::obstack, obstack_chunk_alloc, obstack_chunk_free, and OBSTACK_CHUNK_SIZE.
Referenced by cgraph_node::add_new_function(), cgraph_node::analyze(), analyze_functions(), block_range_cache::block_range_cache(), symtab_node::check_ifunc_callee_symtab_nodes(), symbol_table::compile(), control_dependences::control_dependences(), df_live_alloc(), df_lr_alloc(), df_md_alloc(), df_mir_alloc(), df_mir_verify_solution_start(), df_rd_alloc(), df_scan_alloc(), df_word_lr_alloc(), dom_ranger::dom_ranger(), dse_step0(), equiv_oracle::equiv_oracle(), execute_tm_memopt(), cgraph_node::expand(), expand_thunk(), find_replaceable_exprs(), gate_tm_init(), infer_range_manager::infer_range_manager(), init_alias_vars(), init_dce(), init_live_reload_and_inheritance_pseudos(), init_lives(), init_pre(), init_ssa_renamer(), init_update_ssa(), init_vars_expansion(), ipa_init(), ipa_passes(), ipa_reference_read_optimization_summary(), ipa_tm_execute(), ira(), lang_dependent_init(), lower_nested_functions(), lto_output(), new_live_track(), new_tree_live_info(), path_oracle::path_oracle(), perform_var_substitution(), phi_analyzer::phi_analyzer(), range_def_chain::range_def_chain(), reorg_loops(), rest_of_handle_df_initialize(), rewrite_into_loop_closed_ssa_1(), run_rtl_passes(), toplev::run_self_tests(), ipa_icf::sem_item_optimizer::sem_item_optimizer(), solve_graph(), ssa_conflicts_new(), ssa_lazy_cache::ssa_lazy_cache(), pair_fusion_bb_info::track_tombstone(), tree_ssa_lim_initialize(), and update_list::update_list().
|
extern |
Release the memory from a bitmap obstack. If BIT_OBSTACK is NULL, release the default bitmap obstack.
References bitmap_default_obstack, bitmap_default_obstack_depth, bitmap_obstack::elements, gcc_assert, bitmap_obstack::heads, NULL, and bitmap_obstack::obstack.
Referenced by cgraph_node::add_new_function(), cgraph_node::analyze(), analyze_functions(), calculate_live_ranges(), symtab_node::check_ifunc_callee_symtab_nodes(), symbol_table::compile(), compute_transaction_bits(), delete_live_track(), delete_points_to_sets(), delete_tree_live_info(), df_live_free(), df_lr_free(), df_md_free(), df_mir_free(), df_mir_verify_solution_end(), df_rd_free(), df_scan_free_internal(), df_word_lr_free(), do_reload(), dse_step7(), execute_tm_memopt(), cgraph_node::expand(), expand_thunk(), finalize(), find_replaceable_exprs(), fini_dce(), fini_pre(), fini_ssa_renamer(), fini_vars_expansion(), finish_live_reload_and_inheritance_pseudos(), finish_lives(), free_var_substitution_info(), gate_tm_init(), ipa_passes(), ipa_reference_cc_finalize(), ipa_tm_execute(), lower_nested_functions(), lto_output(), propagate(), remove_preds_and_fake_succs(), reorg_loops(), rest_of_handle_df_finish(), rewrite_into_loop_closed_ssa_1(), run_rtl_passes(), toplev::run_self_tests(), solve_graph(), ssa_conflicts_delete(), tree_ssa_lim_finalize(), block_range_cache::~block_range_cache(), control_dependences::~control_dependences(), dom_ranger::~dom_ranger(), equiv_oracle::~equiv_oracle(), infer_range_manager::~infer_range_manager(), pair_fusion_bb_info::~pair_fusion_bb_info(), path_oracle::~path_oracle(), phi_analyzer::~phi_analyzer(), range_def_chain::~range_def_chain(), ipa_icf::sem_item_optimizer::~sem_item_optimizer(), ssa_lazy_cache::~ssa_lazy_cache(), and update_list::~update_list().
|
extern |
Print a bitmap.
Function to print out the contents of a bitmap. Unlike debug_bitmap_file, it does not print anything but the bits.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, bitmap_tree_to_vec(), BITMAP_WORD_BITS, EXECUTE_IF_SET_IN_BITMAP, i, and bitmap_head::indx.
Referenced by debug_ter(), debug_var_infos_r(), determine_group_iv_costs(), df_set_blocks(), dse_step2_init(), dse_step4(), dse_step5(), dump_bitmap(), find_always_executed_bbs(), iv_ca_dump(), print_cluster(), print_insn_chain(), loop_distribution::rdg_build_partitions(), and same_succ_print().
|
extern |
Referenced by bitmap_initialize().
|
inline |
Release a bitmap (but not its head). This is suitable for pairing with bitmap_initialize.
References bitmap_clear(), and bitmap_head::crashme.
Referenced by calculate_loop_reg_pressure(), df_live_free(), df_md_free(), df_md_local_compute(), df_rd_local_compute(), lra_inheritance(), and pair_fusion_bb_info::~pair_fusion_bb_info().
void bitmap_set_aligned_chunk | ( | bitmap | head, |
unsigned int | chunk, | ||
unsigned int | chunk_size, | ||
BITMAP_WORD | chunk_value ) |
Set and get multiple bit values in a sparse bitmap. This allows a bitmap to function as a sparse array of bit patterns where the patterns are multiples of power of 2. This is more efficient than performing this as multiple individual operations.
Set CHUNK_SIZE bits at a time in bitmap HEAD. Store CHUNK_VALUE starting at bits CHUNK * chunk_size. This is the set routine for viewing bitmap as a multi-bit sparse array.
References BITMAP_ELEMENT_ALL_BITS, bitmap_element_allocate(), BITMAP_ELEMENT_WORDS, bitmap_list_find_element(), bitmap_list_link_element(), bitmap_tree_find_element(), bitmap_tree_link_element(), BITMAP_WORD_BITS, bitmap_element::bits, CHAR_BIT, gcc_checking_assert, bitmap_element::indx, bitmap_head::indx, and pow2p_hwi().
Referenced by sbr_sparse_bitmap::bitmap_set_quad().
Set a single bit in a bitmap. Return true if the bit changed.
References BITMAP_ELEMENT_ALL_BITS, bitmap_element_allocate(), BITMAP_ELEMENT_WORDS, bitmap_list_find_element(), bitmap_list_link_element(), bitmap_tree_find_element(), bitmap_tree_link_element(), BITMAP_WORD_BITS, bitmap_element::bits, bitmap_element::indx, and bitmap_head::indx.
|
extern |
Set COUNT bits from START in HEAD.
References BITMAP_ELEMENT_ALL_BITS, bitmap_element_allocate(), BITMAP_ELEMENT_WORDS, bitmap_list_find_element(), bitmap_list_insert_element_after(), bitmap_list_link_element(), bitmap_set_bit, BITMAP_WORD_BITS, bitmap_element::bits, count, gcc_checking_assert, i, bitmap_element::indx, bitmap_element::next, and bitmap_element::prev.
Referenced by add_used_regs(), loop_distribution::break_alias_scc_partitions(), df_mark_reg(), df_rd_bb_local_compute_process_def(), df_rd_dump_defs_set(), df_rd_local_compute(), df_rd_transfer_function(), ext_dce_process_bb(), ext_dce_process_uses(), initiate_live_solver(), look_for_hardregs(), mark_effect(), relate_compare_use_with_all_cands(), set_all_positions_unneeded(), setup_live_bytes_from_ref(), solution_set_expand(), loop_distribution::transform_reduction_loop(), and verify_ssaname_freelists().
|
extern |
True if the bitmap has only a single bit set.
Return true if the bitmap has a single bit set. Otherwise return false.
References a, BITMAP_ELEMENT_WORDS, bitmap_empty_p(), bitmap_popcount(), bitmap_element::bits, count, bitmap_element::next, NULL, and bitmap_element::prev.
Referenced by curr_insn_transform(), pt_solution_singleton_or_null_p(), and same_succ_flush_bb().
void bitmap_tree_view | ( | bitmap | head | ) |
Convert bitmap HEAD from linked-list view to splay-tree view. This is simply a matter of dropping the prev or next pointers and setting the tree_form flag. The tree will balance itself if and when it is used.
References head::first, gcc_assert, bitmap_element::next, NULL, and bitmap_element::prev.
Referenced by coalesce_ssa_name(), compute_idf(), df_worklist_dataflow_doublequeue(), dom_jt_state::dom_jt_state(), equiv_oracle::equiv_oracle(), find_always_executed_bbs(), ifcombine_replace_cond(), maybe_skip_until(), release_defs_bitset(), sbr_sparse_bitmap::sbr_sparse_bitmap(), sorted_array_from_bitmap_set(), ssa_prop_init(), update_ssa(), and walk_aliased_vdefs_1().
|
extern |
DST = A ^ B
References a, b, bitmap_clear(), BITMAP_ELEMENT_WORDS, bitmap_elt_clear_from(), bitmap_list_insert_element_after(), bitmap_element::bits, gcc_assert, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, NULL, and r.
|
extern |
|
inline |
Advance to the next nonzero bit of an intersecting pair of bitmaps. We will have already advanced past the just iterated bit. Return true if there is a bit to iterate.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, BITMAP_WORD_BITS, bitmap_element::bits, bitmap_iterator::bits, bmp_iter_next_bit(), bitmap_iterator::elt1, bitmap_iterator::elt2, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and bitmap_iterator::word_no.
|
inline |
Advance to the next nonzero bit in the intersection of complemented bitmaps. We will have already advanced past the just iterated bit.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, BITMAP_WORD_BITS, bitmap_element::bits, bitmap_iterator::bits, bmp_iter_next_bit(), bitmap_iterator::elt1, bitmap_iterator::elt2, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and bitmap_iterator::word_no.
|
inline |
Initialize an iterator to iterate over the bits in MAP1 & ~MAP2.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, BITMAP_WORD_BITS, bitmap_zero_bits, bitmap_element::bits, bitmap_iterator::bits, bitmap_iterator::elt1, bitmap_iterator::elt2, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and bitmap_iterator::word_no.
|
inline |
Initialize an iterator to iterate over the intersection of two bitmaps. START_BIT is the bit to commence from.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, BITMAP_WORD_BITS, bitmap_zero_bits, bitmap_element::bits, bitmap_iterator::bits, bitmap_iterator::elt1, bitmap_iterator::elt2, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, NULL, and bitmap_iterator::word_no.
|
inline |
Advance to the next bit in BI. We don't advance to the next nonzero bit yet.
References bitmap_iterator::bits.
Referenced by equiv_relation_iterator::next(), and gori_export_iterator::next().
|
inline |
Advance to first set bit in BI.
References bitmap_iterator::bits, and gcc_assert.
Referenced by bmp_iter_and(), bmp_iter_and_compl(), and bmp_iter_set().
|
inline |
Advance to the next nonzero bit of a single bitmap, we will have already advanced past the just iterated bit. Return true if there is a bit to iterate.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, BITMAP_WORD_BITS, bitmap_element::bits, bitmap_iterator::bits, bmp_iter_next_bit(), bitmap_iterator::elt1, gcc_checking_assert, bitmap_element::indx, bitmap_element::next, and bitmap_iterator::word_no.
Referenced by equiv_relation_iterator::get_name(), and gori_export_iterator::get_name().
|
inline |
Initialize a single bitmap iterator. START_BIT is the first bit to iterate from.
References BITMAP_ELEMENT_ALL_BITS, BITMAP_ELEMENT_WORDS, BITMAP_WORD_BITS, bitmap_zero_bits, bitmap_element::bits, bitmap_iterator::bits, bitmap_iterator::elt1, bitmap_iterator::elt2, gcc_checking_assert, bitmap_element::indx, map, bitmap_element::next, NULL, and bitmap_iterator::word_no.
Referenced by equiv_relation_iterator::equiv_relation_iterator(), equiv_relation_iterator::get_name(), and gori_export_iterator::gori_export_iterator().
|
extern |
References debug.
|
extern |
References debug.
|
extern |
References dump_bitmap().
|
extern |
References debug.
|
extern |
Debug functions to print a bitmap.
Function to be called from the debugger to print the contents of a bitmap.
References debug_bitmap_file().
|
extern |
Debugging function to print out the contents of a bitmap.
References bitmap_tree_to_vec(), debug_bitmap_elt_file(), head::first, HOST_PTR_PRINTF, i, and bitmap_element::next.
Referenced by debug_bitmap(), and dump_rdg_partitions().
|
inline |
A few compatibility/functions macros for compatibility with sbitmaps
References bitmap_print(), and map.
Referenced by create_new_invariant(), debug(), df_rd_start_dump(), dump_cand(), dump_split_point(), find_iv_candidates(), loop_distribution::partition_merge_into(), and ssa_conflicts_dump().
|
extern |
Output per-bitmap memory usage statistics.
References bitmap_mem_desc, and BITMAP_ORIGIN.
Referenced by dump_memory_report().
|
extern |
Referenced by auto_bitmap::auto_bitmap(), bitmap_alloc(), bitmap_obstack_initialize(), bitmap_obstack_release(), compute_live_vars(), create_new_chain(), df_chain_create_bb(), df_live_verify_transfer_functions(), df_lr_verify_transfer_functions(), df_md_local_compute(), ext_dce_init(), init_rename_info(), regrename_analyze(), and update_ssa().
|
extern |
Bitmap memory description.
Functions to support general ended bitmaps. Copyright (C) 1997-2024 Free Software Foundation, Inc. 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/>.
Memory allocation statistics purpose instance.
Referenced by bitmap_list_find_element(), bitmap_register(), bitmap_tree_find_element(), bitmap_tree_splay(), dump_bitmap_statistics(), register_overhead(), and release_overhead().
|
extern |
Global data
Referenced by bmp_iter_and_compl_init(), bmp_iter_and_init(), and bmp_iter_set_init().