GCC Middle and Back End API Reference
|
Data Structures | |
struct | bitmap_descriptor_d |
struct | loc |
struct | bitmap_desc_hasher |
struct | output_info |
Typedefs | |
typedef struct bitmap_descriptor_d * | bitmap_descriptor |
typedef struct bitmap_descriptor_d * | const_bitmap_descriptor |
Variables | |
static int | next_bitmap_desc_id = 0 |
static vec< bitmap_descriptor > | bitmap_descriptors |
static hash_table < bitmap_desc_hasher > | bitmap_desc_hash |
bitmap_element | bitmap_zero_bits |
bitmap_obstack | bitmap_default_obstack |
static int | bitmap_default_obstack_depth |
static bitmap_element * | bitmap_ggc_free |
static const unsigned char | popcount_table [] |
typedef struct bitmap_descriptor_d* bitmap_descriptor |
typedef struct bitmap_descriptor_d* const_bitmap_descriptor |
void bitmap_and | ( | ) |
DST = A & B.
References bitmap_copy(), bitmap_elt_clear_from(), bitmap_elt_insert_after(), bitmap_element_def::bits, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by add_ranges_and_copies(), compute_dom_prob_ps(), compute_laterin(), compute_nearerout(), copy_fixed_regs(), df_live_init(), df_live_transfer_function(), df_md_transfer_function(), find_nodes_on_paths(), get_sched_window(), link_btr_uses(), order_nodes_in_scc(), and update_ebb_live_info().
bool bitmap_and_compl | ( | ) |
DST = A & ~B
References bitmap_clear(), bitmap_element_free(), bitmap_elt_clear_from(), bitmap_elt_copy(), bitmap_elt_insert_after(), bitmap_empty_p(), bitmap_element_def::bits, changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by bitmap_ior_and_compl(), bitmap_ior_and_compl_into(), bitmap_set_subtract(), change_loop(), compute_defs_uses_and_gen(), compute_dom_prob_ps(), compute_earliest(), compute_farthest(), compute_insert_delete(), compute_rev_insert_delete(), df_set_blocks(), find_predecessors(), find_split_points(), find_successors(), link_btr_uses(), loe_visit_block(), note_btr_set(), order_nodes_in_scc(), order_nodes_of_sccs(), propagate(), propagate_pseudo_copies(), prune_expressions(), prune_unused_phi_nodes(), solve_graph(), split_edges(), and thread_prologue_and_epilogue_insns().
bool bitmap_and_compl_into | ( | ) |
A &= ~B. Returns true if A changes
References bitmap_clear(), bitmap_element_free(), bitmap_empty_p(), bitmap_element_def::bits, changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by build_insn_chain(), can_move_insns_across(), decompose_multiword_subregs(), determine_use_iv_costs(), df_rd_confluence_n(), df_rd_transfer_function(), insert_phi_nodes_for(), prune_unused_phi_nodes(), regstat_bb_compute_ri(), scan_reads_nospill(), spill_pseudos(), store_motion_loop(), update_equiv_regs(), update_live_info(), and update_worklist().
bool bitmap_and_into | ( | ) |
A &= B. Return true if A changed.
References bitmap_element_free(), bitmap_elt_clear_from(), bitmap_element_def::bits, changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by bitmap_set_and(), can_move_insns_across(), compute_live_loop_exits(), dead_or_predicable(), df_analyze(), df_live_finalize(), df_live_transfer_function(), df_md_transfer_function(), df_rd_dump_defs_set(), df_rd_transfer_function(), dse_confluence_n(), find_moveable_pseudos(), intersect_static_var_sets(), replace_read(), tm_memopt_compute_antin(), tm_memopt_compute_avin(), and vrp_meet_1().
int bitmap_bit_p | ( | ) |
Return whether a bit is set within a bitmap.
References bitmap_find_bit(), and bitmap_element_def::bits.
Referenced by add_branch_dependences(), add_control_edge(), add_cross_iteration_register_deps(), add_exit_phis_var(), add_partitioned_vars_to_ptset(), addr_object_size(), adjust_agg_replacement_values(), adjust_cleared_regs(), all_non_dominated_preds_marked_p(), all_positions_needed_p(), already_processed_vertex_p(), analyze_access_subtree(), analyze_all_variable_accesses(), ask_dependency_caches(), assign_by_spills(), assign_hard_reg(), assign_spill_hard_regs(), augment_live_range(), av_set_could_be_blocked_by_bookkeeping_p(), bb_in_loop_p(), bb_seen_p(), bitmap_set_and(), bitmap_set_contains_expr(), bitmap_set_contains_value(), build_function_decl_skip_args(), build_function_type_skip_args(), build_insn_chain(), build_intra_loop_deps(), build_scop_bbs_1(), build_store_vectors(), build_succ_graph(), cached_make_edge(), calc_idoms(), calculate_loop_reg_pressure(), calculate_must_precede_follow(), call_may_clobber_ref_p_1(), can_decompose_p(), cfg_blocks_add(), cgraph_copy_node_for_versioning(), cgraph_create_virtual_clone(), check_all_va_list_escapes(), check_for_plus_in_loops_1(), check_live_1(), check_nodes_order(), check_va_list_escapes(), cleanup_empty_eh_merge_phis(), coalesce_spill_slots(), code_motion_path_driver(), collect_object_sizes_for(), color_pass(), combine_reloads(), compute_always_reached(), compute_antic(), compute_builtin_object_size(), compute_split_row(), compute_topo_order(), compute_trg_info(), condense_visit(), consider_split(), convert_local_reference_op(), convert_nonlocal_reference_op(), copy_arguments_for_versioning(), copy_cfg_body(), copy_loops(), copyprop_hardreg_forward(), create_access(), create_caps(), create_ddg_dep_from_intra_loop_link(), create_loop_allocnos(), create_scc(), cse_find_path(), cse_main(), dce_process_block(), dead_debug_global_replace_temp(), dead_debug_insert_temp(), dead_debug_reset_uses(), dead_or_predicable(), df_analyze(), df_compact_blocks(), df_create_unused_note(), df_exit_block_uses_collect(), df_get_bb_dirty(), df_get_call_refs(), df_install_ref_incremental(), df_install_refs(), df_live_verify_transfer_functions(), df_lr_verify_transfer_functions(), df_md_bb_local_compute_process_def(), df_md_local_compute(), df_note_bb_compute(), df_notes_rescan(), df_print_word_regset(), df_prune_to_subcfg(), df_rd_bb_local_compute_process_def(), df_reg_chain_unlink(), df_remove_dead_eq_notes(), df_set_dead_notes_for_mw(), df_set_unused_notes_for_mw(), df_whole_mw_reg_dead_p(), df_whole_mw_reg_unused_p(), df_worklist_propagate_backward(), df_worklist_propagate_forward(), discover_loop(), do_ds_constraint(), do_sd_constraint(), draw_cfg_nodes_no_loops(), dse_step2_nospill(), dse_step3(), dse_step5_nospill(), dump_bitmap_file(), dump_dereferences_table(), dump_rdg(), dump_replaceable_exprs(), dup_block_and_redirect(), duplicate_computed_gotos(), duplicate_loop_to_header_edge(), eh_region_may_contain_throw(), eh_region_outermost(), elim_backward(), elim_create(), elim_forward(), elim_unvisited_predecessor(), eliminate(), eliminate_bb(), eliminate_phi(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), estimate_insn_tick(), execute_update_addresses_taken(), expand_gimple_basic_block(), expand_gimple_cond(), expand_loc(), expand_used_vars(), extend_rgns(), fast_dce(), fill_always_executed_in_1(), find_assert_locations_1(), find_avail_set(), find_bypass_set(), find_comparisons_in_bb(), find_costs_and_classes(), find_dummy_reload(), find_equivalent_node(), find_indirect_cycles(), find_invariants_body(), find_many_sub_basic_blocks(), find_moveable_pseudos(), find_nodes_on_paths(), find_replaceable_in_bb(), find_va_list_reference(), fix_bb_placements(), flow_dfs_compute_reverse_execute(), foll_in_subgraph(), generate_edge_moves(), generate_loops_for_partition(), get_access_for_expr(), get_gimple_for_ssa_name(), get_loop_body_in_if_conv_order(), get_loop_hot_path(), get_reg_known_equiv_p(), get_sched_window(), get_tm_region_blocks(), gimple_call_copy_skip_args(), gimple_equal_p(), gimple_flow_call_edges_add(), gimplify_omp_for(), haifa_find_rgns(), has_upstream_mem_writes(), hoist_code(), implicit_clobber_conflict_p(), improve_inheritance(), init_live_subregs(), init_seqno_1(), initialize_parameter_reductions(), initialize_uninitialized_regs(), initiate_bb_reg_pressure_info(), initiate_reg_pressure_info(), insert_store(), invalid_mode_change_p(), inverted_post_order_compute(), ipa_pta_execute(), ipa_reference_write_optimization_summary(), ipa_tm_diagnose_transaction(), ipa_tm_note_irrevocable(), ipa_tm_propagate_irr(), ipa_tm_scan_irr_blocks(), ipa_tm_scan_irr_function(), ipa_tm_transform_calls(), ipa_tm_transform_calls_1(), ipa_tm_transform_transaction(), ira_loop_edge_freq(), ira_reassign_conflict_allocnos(), ira_reuse_stack_slot(), is_new_name(), is_old_name(), is_proper_for_analysis(), is_used_p(), label_visit(), latch_dominating_def(), live_on_edge(), live_track_live_p(), live_track_process_def(), loe_visit_block(), lower_omp_regimplify_p(), lra_coalesce(), lra_constraints(), lra_former_scratch_operand_p(), lra_former_scratch_p(), lra_push_insn_1(), lto_output(), make_preds_opaque(), make_regs_eqv(), mark_all_reaching_defs_necessary_1(), mark_control_dependent_edges_necessary(), mark_def_interesting(), mark_def_sites(), mark_dfs_back_edges(), mark_elimination(), mark_nodes_having_upstream_mem_writes(), mark_nonssa_use(), mark_operand_necessary(), mark_parm_dereference(), mark_reachable_blocks(), mark_use_interesting(), marked_for_renaming(), marked_insn_p(), maybe_optimize_var(), maybe_rewrite_mem_ref_base(), maybe_skip_until(), mem_overlaps_already_clobbered_arg_p(), merge_object_sizes(), move_spill_restore(), multiplier_allowed_in_address_p(), need_for_split_p(), one_store_motion_pass(), optimize_mode_switching(), outermost_indep_loop(), output_cycle_reservs(), parallelized_function_p(), param_change_prob(), partition_is_global(), partition_view_bitmap(), perform_var_substitution(), post_order_compute(), pre_and_rev_post_order_compute(), pre_delete(), pre_edge_insert(), pre_expr_reaches_here_p_work(), pred_blocks_visited_p(), predecessor_has_mem_write(), prepare_def_site_for(), prepare_names_to_update(), prescan_insns_for_dce(), process_ssa_edge_worklist(), process_uses(), propagate_all_subaccesses(), propagate_allocno_info(), propagate_dereference_distances(), propagate_freq(), propagate_necessity(), prune_uninit_phi_opnds_in_unrealizable_paths(), prune_unused_phi_nodes(), ps_insn_advance_column(), ps_insn_find_column(), pseudo_prefix_title(), pt_solution_includes_1(), push_allocno_to_stack(), push_reload(), rdg_build_components(), rdg_build_partitions(), reachable_at_most_once(), record_set(), record_subregs_of_mode(), ref_indep_loop_p_1(), ref_indep_loop_p_2(), ref_maybe_used_by_call_p_1(), regrename_analyze(), regstat_bb_compute_ri(), release_defs_bitset(), reload_pseudo_compare_func(), remap_gimple_stmt(), remove_inheritance_pseudos(), remove_path(), remove_reachable_equiv_notes(), remove_some_program_points_and_update_live_ranges(), remove_unreachable_eh_regions_worker(), remove_unreachable_handlers(), remove_unreachable_handlers_no_lp(), reorder_loops(), rewrite_debug_stmt_uses(), rewrite_enter_block(), rewrite_update_enter_block(), rewrite_update_phi_arguments(), rtl_flow_call_edges_add(), scan_rtx_reg(), scc_visit(), schedule_ebb(), schedule_reg_move(), sd_find_dep_between(), sel_region_target_finish(), sel_sched_region_1(), sese_bad_liveouts_use(), sese_contains_loop(), set_allocno_somewhere_renamed_p(), set_union_with_increment(), should_hoist_expr_to_dom(), simplify_gimple_switch_label_vec(), simulate_block(), single_nonlooparound_use(), sms_schedule_by_order(), solve_graph(), sorted_array_from_bitmap_set(), spill_for(), spill_pseudos(), splice_all_param_accesses(), split_function(), ssa_conflicts_test_p(), stack_var_conflict_p(), store_can_be_removed_p(), test_nonssa_use(), test_unit_reserv(), thread_around_empty_block(), thread_prologue_and_epilogue_insns(), thread_through_all_blocks(), tm_memopt_compute_antic(), tm_memopt_compute_available(), tm_memopt_transform_blocks(), tm_region_init(), topo_visit(), try_bitmap_cache(), update_bad_spill_attribute(), update_bb_reg_pressure(), update_callee_keys(), update_dist_to_successors(), update_dominators_in_loop(), update_ebb_live_info(), va_list_counter_struct_op(), va_list_ptr_read(), va_list_ptr_write(), value_dies_in_block_x(), value_id_constant_p(), vect_supported_load_permutation_p(), verify_live_on_entry(), verify_loop_structure(), verify_non_ssa_vars(), verify_partial_schedule(), verify_target_availability(), verify_use(), version_to_be_replaced_p(), vt_find_locations(), and word_dce_process_block().
void bitmap_clear | ( | ) |
Clear a bitmap by freeing the linked list.
References bitmap_elt_clear_from(), and bitmap_head_def::first.
Referenced by add_dependence(), add_partitioned_vars_to_ptset(), add_scope_conflicts_1(), analyze_function(), assign_by_spills(), assign_spill_hard_regs(), bitmap_and_compl(), bitmap_and_compl_into(), bitmap_compl_and_into(), bitmap_copy(), bitmap_ior_and_compl_into(), bitmap_obstack_free(), bitmap_set_and(), bitmap_set_free(), bitmap_set_subtract_values(), bitmap_union_of_preds(), bitmap_union_of_succs(), bitmap_vector_clear(), bitmap_xor(), bitmap_xor_into(), blocks_in_phiopt_order(), break_superblocks(), build_insn_chain(), build_pred_graph(), build_scop_bbs(), calculate_live_on_exit(), calculate_loop_reg_pressure(), calculate_must_precede_follow(), check_nodes_order(), check_sccs(), clear_control_dependence_bitmap(), clear_modify_mem_tables(), coalesced_allocno_conflict_p(), compute_antic(), compute_antinout_edge(), compute_available(), compute_defs_uses_and_gen(), compute_earliest(), compute_farthest(), compute_trg_info(), copyprop_hardreg_forward(), create_ddg_all_sccs(), cse_main(), dce_process_block(), dead_debug_global_init(), dead_debug_local_init(), decompose_multiword_subregs(), determine_use_iv_cost_condition(), determine_use_iv_costs(), df_chain_create_bb(), df_chain_remove_problem(), df_compact_blocks(), df_entry_block_bitmap_verify(), df_exit_block_bitmap_verify(), 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_free(), 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_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_bb_local_compute_process_def(), df_md_free_bb_info(), df_md_local_compute(), df_md_reset(), df_note_bb_compute(), df_note_compute(), df_process_deferred_rescans(), df_rd_alloc(), df_rd_bb_local_compute(), df_rd_confluence_n(), df_rd_dump_defs_set(), df_rd_free_bb_info(), df_rd_init_solution(), df_rd_local_compute(), df_rd_transfer_function(), df_scan_free_internal(), df_scan_verify(), df_set_blocks(), df_update_entry_block_defs(), df_update_exit_block_uses(), 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(), df_worklist_dataflow_doublequeue(), dfs_enumerate_from(), draw_cfg_nodes_no_loops(), dse_step2_nospill(), dse_step3(), dse_step3_scan(), dse_step5_nospill(), eh_region_outermost(), eliminate_phi(), estimate_shadow_tick(), expand_call(), fast_dce(), fill_always_executed_in(), find_assert_locations(), find_call_stack_args(), find_comparisons_in_bb(), find_moveable_pseudos(), find_nodes_on_paths(), find_replaceable_in_bb(), find_used_regs(), find_what_var_points_to(), finish_reg_info(), fix_bb_placements(), fix_inter_tick(), fix_recovery_deps(), flow_dfs_compute_reverse_init(), free_chain_data(), free_loop_data(), get_computation_cost_at(), get_live_on_other_edges(), get_sched_window(), gimple_fold_builtin(), haifa_find_rgns(), hoist_code(), inherit_in_ebb(), init_alias_analysis(), init_dce(), init_live_subregs(), init_rename_info(), init_scc_info(), init_seqno(), init_topo_info(), init_update_ssa(), initialize_uninitialized_regs(), initiate_reg_pressure_info(), inline_small_functions(), inverted_post_order_compute(), link_btr_uses(), live_merge_and_clear(), live_track_add_partition(), live_track_clear_base_vars(), live_worklist(), longest_simple_path(), lra(), lra_assign(), lra_coalesce(), lra_constraints(), lra_eliminate(), lra_inheritance(), lra_undo_inheritance(), make_edges(), mark_def_sites_block(), mark_dfs_back_edges(), mark_reachable_handlers(), move_exprs_to_boundary(), move_op(), multiplier_allowed_in_address_p(), nearest_common_dominator_of_uses(), order_nodes_in_scc(), order_nodes_of_sccs(), peel_loop_simple(), perform_tree_ssa_dce(), perform_var_substitution(), post_order_compute(), pre_and_rev_post_order_compute(), prescan_insns_for_dce(), propagate_necessity(), propagate_pseudo_copies(), prune_expressions(), prune_insertions_deletions(), prune_unused_phi_nodes(), reachable_at_most_once(), regrename_analyze(), regstat_bb_compute_ri(), remove_path(), remove_reachable_equiv_notes(), remove_some_program_points_and_update_live_ranges(), restore_scratches(), rewrite_into_ssa(), same_succ_reset(), sched_deps_finish(), sched_init_region_reg_pressure_info(), sched_rgn_compute_dependencies(), schedule_ebbs_finish(), schedule_ebbs_init(), schedule_insns(), schedule_reg_move(), schedule_reg_moves(), sel_region_finish(), sel_region_init(), set_value_range(), set_value_range_to_undefined(), set_value_range_to_varying(), setup_try_hard_regno_pseudos(), should_hoist_expr_to_dom(), sms_schedule_by_order(), spill_for(), spill_pseudos(), split_all_insns(), ssa_prop_init(), tail_duplicate(), thread_across_edge(), thread_prologue_and_epilogue_insns(), tree_dce_init(), tree_ssa_dominator_optimize(), undistribute_ops_list(), undo_optional_reloads(), unroll_loop_runtime_iterations(), unroll_loop_stupid(), update_bad_spill_attribute(), update_dominators_in_loop(), update_live_info(), update_ssa(), update_worklist(), vect_supported_load_permutation_p(), verify_loop_structure(), verify_ssa(), vrp_meet_1(), vt_find_locations(), and word_dce_process_block().
bool bitmap_clear_bit | ( | ) |
Clear a single bit in a bitmap. Return true if the bit changed.
References bitmap_element_free(), bitmap_element_zerop(), bitmap_find_bit(), and bitmap_element_def::bits.
Referenced by add_range_and_copies_from_move_list(), add_scope_conflicts_1(), apply_clusters(), assign_by_spills(), assign_temporarily(), bitmap_remove_from_set(), bitmap_set_and(), bitmap_set_replace_value(), build_insn_chain(), build_pred_graph(), calculate_bb_reg_pressure(), cfg_blocks_get(), change_spec_dep_to_hard(), check_argument_store(), check_for_plus_in_loops_1(), cleanup_tree_cfg_1(), collect_object_sizes_for(), color_pass(), compare_names(), compute_antic_aux(), compute_partial_antic_aux(), compute_transp(), condense_visit(), create_block_for_bookkeeping(), 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_note_bb_compute(), df_notes_rescan(), df_simulate_defs(), df_simulate_finalize_backwards(), df_simulate_initialize_backwards(), df_simulate_one_insn_forwards(), df_word_lr_mark_ref(), df_worklist_dataflow_doublequeue(), disqualify_candidate(), eliminate(), eliminate_const_or_copy(), find_assert_locations_1(), find_moveable_pseudos(), fix_bb_live_info(), fix_bb_placements(), haifa_find_rgns(), init_seqno(), init_seqno_1(), insert_store(), invalidate_insn_data_regno_info(), iv_ca_set_no_cp(), live_track_remove_partition(), loe_visit_block(), lra_pop_insn(), make_preds_opaque(), mark_effect(), mark_elimination(), mark_reachable_blocks(), mark_regno_birth_or_death(), mark_regno_death(), optimize_mode_switching(), order_nodes_in_scc(), peel_loop_completely(), prepare_names_to_update(), process_defs(), propagate(), propagate_freq(), prune_insertions_deletions(), prune_uninit_phi_opnds_in_unrealizable_paths(), rdg_flag_vertex(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), release_defs_bitset(), reload(), remove_dead_inserted_code(), remove_edge_and_dominated_blocks(), remove_from_partition_kill_list(), same_succ_flush_bb(), scan_reads_nospill(), scan_reads_spill(), scan_rtx_reg(), scan_stores_nospill(), scan_stores_spill(), sd_delete_dep(), sel_sched_region_1(), set_reg_known_equiv_p(), sms_schedule_by_order(), solve_graph(), thread_prologue_and_epilogue_insns(), track_scheduled_insns_and_blocks(), tree_transform_and_unroll_loop(), try_unroll_loop_completely(), undo_optional_reloads(), unify_nodes(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), update_bb_reg_pressure(), update_bitmap_cache(), update_dependency_caches(), update_ebb_live_info(), update_lives(), update_worklist(), verify_loop_structure(), and vt_find_locations().
void bitmap_clear_range | ( | ) |
Clear COUNT bits from START in HEAD.
References bitmap_element_free(), bitmap_find_bit(), bitmap_element_def::bits, count, bitmap_head_def::current, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by 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(), mark_effect(), and remove_preds_and_fake_succs().
void bitmap_compl_and_into | ( | ) |
A = ~A & B.
References bitmap_clear(), bitmap_copy(), bitmap_element_free(), bitmap_elt_insert_after(), bitmap_empty_p(), bitmap_element_def::bits, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, memcpy(), bitmap_element_def::next, and bitmap_element_def::prev.
void bitmap_copy | ( | ) |
Copy a bitmap to another bitmap.
References bitmap_clear(), bitmap_element_allocate(), bitmap_element_def::bits, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, memcpy(), bitmap_element_def::next, and bitmap_element_def::prev.
Referenced by 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_and(), bitmap_set_copy(), bitmap_set_subtract_values(), bitmap_union_of_preds(), bitmap_union_of_succs(), build_insn_chain(), calculate_bb_reg_pressure(), calculate_loop_reg_pressure(), can_move_insns_across(), color_pass(), combine_btr_defs(), compute_builtin_object_size(), compute_earliest(), compute_farthest(), compute_laterin(), compute_nearerout(), compute_out(), consider_split(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), copy_static_var_set(), create_new_chain(), create_scc(), 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_note_bb_compute(), df_process_deferred_rescans(), df_rd_confluence_n(), df_rd_init_solution(), df_rd_transfer_function(), df_set_blocks(), df_update_entry_block_defs(), df_update_exit_block_uses(), df_word_lr_init(), dse_confluence_0(), dse_confluence_n(), dse_step1(), dse_step3(), dse_transfer_function(), eliminate_degenerate_phis(), find_moveable_pseudos(), find_nodes_on_paths(), hoist_code(), insert_updated_phi_nodes_for(), label_visit(), longest_simple_path(), mark_threaded_blocks(), migrate_btr_def(), move_btr_def(), move_exprs_to_boundary(), order_nodes_in_scc(), peephole2_optimize(), propagate_pseudo_copies(), prune_unused_phi_nodes(), regrename_analyze(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), restore_reg_pressure(), save_reg_pressure(), set_union_with_increment(), set_value_range(), should_hoist_expr_to_dom(), simulate_backwards_to_point(), single_def_use_enter_block(), solve_graph(), spill_for(), split_edges(), tm_memopt_compute_antin(), tm_memopt_compute_avin(), undo_optional_reloads(), update_ssa(), vrp_intersect_ranges_1(), and word_dce_process_block().
unsigned long bitmap_count_bits | ( | ) |
Count the number of bits set in the bitmap, and return it.
References bitmap_popcount(), bitmap_element_def::bits, count, bitmap_head_def::first, and bitmap_element_def::next.
Referenced by add_to_worklist(), alloc_use_cost_map(), compute_partial_antic_aux(), consider_split(), determine_use_iv_cost_condition(), df_rd_dump_defs_set(), dse_step2_init(), output_node_opt_summary(), partition_view_fini(), prune_unused_phi_nodes(), rdg_build_partitions(), and sorted_array_from_bitmap_set().
|
static |
Referenced by bitmap_element_free().
|
inlinestatic |
Add ELEM to the appropriate freelist.
References bitmap_ggc_free, bitmap_obstack::elements, bitmap_obstack::obstack, and bitmap_element_def::prev.
|
static |
Referenced by bitmap_copy(), bitmap_elt_insert_after(), bitmap_set_bit(), and bitmap_set_range().
|
inlinestatic |
Allocate a bitmap element. The bits are cleared, but nothing else is.
References bitmap_ggc_free, bitmap_element_def::bits, bitmap_obstack::elements, memset(), bitmap_element_def::next, bitmap_obstack::obstack, bitmap_head_def::obstack, bitmap_element_def::prev, and register_overhead().
|
static |
|
inlinestatic |
Free a bitmap element. Since these are allocated off the bitmap_obstack, "free" actually means "put onto the freelist".
References bitmap_elem_to_freelist(), bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, bitmap_element_def::prev, and register_overhead().
|
static |
Referenced by bitmap_set_bit(), and bitmap_set_range().
|
inlinestatic |
Link the bitmap element into the current bitmap linked list.
References bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, and bitmap_element_def::prev.
|
static |
Referenced by bitmap_clear_bit().
|
inlinestatic |
Return nonzero if all bits in an element are zero.
References bitmap_element_def::bits.
|
static |
Referenced by bitmap_and(), bitmap_and_compl(), bitmap_and_into(), bitmap_clear(), bitmap_ior(), bitmap_ior_and_compl(), and bitmap_xor().
void bitmap_elt_clear_from | ( | ) |
Remove ELT and all following elements from bitmap HEAD.
References bitmap_ggc_free, bitmap_head_def::current, bitmap_obstack::elements, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, bitmap_head_def::obstack, bitmap_element_def::prev, and register_overhead().
|
inlinestatic |
Insert an element equal to SRC_ELT after DST_PREV, overwriting DST_ELT if non-NULL. CHANGED is true if the destination bitmap had already been changed; the new value of CHANGED is returned.
References bitmap_elt_insert_after(), bitmap_element_def::bits, changed, bitmap_element_def::indx, and memcpy().
Referenced by bitmap_and_compl(), bitmap_elt_ior(), bitmap_ior_and_into(), and bitmap_ior_into().
|
static |
|
static |
Insert a new uninitialized element into bitmap HEAD after element ELT. If ELT is NULL, insert the element at the start. Return the new element.
References bitmap_element_allocate(), bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, and bitmap_element_def::prev.
|
inlinestatic |
Insert an element corresponding to A_ELT | B_ELT after DST_PREV, overwriting DST_ELT if non-NULL. CHANGED is true if the destination bitmap had already been changed; the new value of CHANGED is returned.
References bitmap_elt_copy(), bitmap_elt_insert_after(), bitmap_element_def::bits, changed, and bitmap_element_def::indx.
Referenced by bitmap_ior(), bitmap_ior_and_compl(), bitmap_ior_and_into(), and bitmap_ior_into().
bool bitmap_equal_p | ( | ) |
Return true if two bitmaps are identical. We do not bother with a check for pointer equality, as that never occurs in practice.
References bitmap_element_def::bits, bitmap_head_def::first, bitmap_element_def::indx, and bitmap_element_def::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_rd_transfer_function(), df_scan_verify(), df_update_entry_block_defs(), df_update_exit_block_uses(), same_succ_def::equal(), equiv_class_hasher::equal(), shared_bitmap_hasher::equal(), intersect_static_var_sets(), order_nodes_in_scc(), sms_schedule_by_order(), union_static_var_sets(), vrp_bitmap_equal_p(), and word_dce_process_block().
|
static |
Referenced by bitmap_bit_p(), bitmap_clear_bit(), bitmap_clear_range(), bitmap_set_bit(), and bitmap_set_range().
|
inlinestatic |
Find a bitmap element that would hold a bitmap's bit. Update the `current' field even if we can't find an element that would hold the bitmap's bit to make eventual allocation faster.
References bitmap_head_def::current, bitmap_head_def::descriptor_id, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, and bitmap_element_def::prev.
unsigned bitmap_first_set_bit | ( | ) |
Return the bit number of the first set bit in the bitmap. The bitmap must be non-empty.
References bitmap_element_def::bits, bitmap_head_def::first, and bitmap_element_def::indx.
Referenced by cleanup_tree_cfg_1(), dump_update_ssa(), same_succ_def::equal(), kill_expr(), nearest_common_dominator_for_set(), nearest_common_dominator_of_uses(), pt_solution_singleton_p(), remove_dead_inserted_code(), same_succ_hash(), scc_visit(), set_livein_block(), undistribute_ops_list(), and update_ssa().
bitmap bitmap_gc_alloc_stat | ( | ) |
Create a new GCd bitmap.
References bitmap_initialize_stat(), map, and register_overhead().
hashval_t bitmap_hash | ( | ) |
Compute hash of bitmap (for purposes of hashing).
References bitmap_element_def::bits, bitmap_head_def::first, bitmap_element_def::indx, and bitmap_element_def::next.
Referenced by equiv_class_lookup_or_add(), same_succ_hash(), shared_bitmap_add(), and shared_bitmap_lookup().
bool bitmap_intersect_compl_p | ( | ) |
Return true if A AND NOT B is not empty.
References bitmap_element_def::bits, bitmap_head_def::first, bitmap_element_def::indx, and bitmap_element_def::next.
Referenced by assign_spill_hard_regs(), df_live_verify_transfer_functions(), df_lr_verify_transfer_functions(), and discover_loops().
bool bitmap_intersect_p | ( | ) |
Return true if A AND B is not empty.
References bitmap_element_def::bits, bitmap_head_def::first, bitmap_element_def::indx, and bitmap_element_def::next.
Referenced by can_move_insns_across(), check_sccs(), compare_names(), dead_or_predicable(), discover_loops(), pt_solutions_intersect_1(), undo_transformations(), vinsn_vec_has_expr_p(), and write_node_summary_p().
bool bitmap_ior | ( | ) |
DST = A | B. Return true if DST changes.
References bitmap_elt_clear_from(), bitmap_elt_ior(), changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by assign_by_spills(), bitmap_ior_and_compl(), check_sccs(), compute_code_hoist_vbeinout(), compute_dom_prob_ps(), compute_kill(), compute_pre_data(), find_assert_locations(), find_predecessors(), find_successors(), haifa_find_rgns(), label_visit(), order_nodes_in_scc(), order_nodes_of_sccs(), prune_unused_phi_nodes(), remove_some_program_points_and_update_live_ranges(), and sched_analyze_insn().
bool bitmap_ior_and_compl | ( | ) |
DST = A | (FROM1 & ~FROM2). Return true if DST changes.
References bitmap_and_compl(), bitmap_copy(), bitmap_elt_clear_from(), bitmap_elt_ior(), bitmap_empty_p(), bitmap_equal_p(), bitmap_ior(), bitmap_element_def::bits, changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by compute_available(), compute_laterin(), compute_nearerout(), compute_out(), df_live_transfer_function(), df_lr_transfer_function(), df_md_transfer_function(), df_rd_transfer_function(), df_word_lr_transfer_function(), and dse_transfer_function().
bool bitmap_ior_and_compl_into | ( | ) |
A |= (FROM1 & ~FROM2). Return true if A changes.
References bitmap_and_compl(), bitmap_clear(), bitmap_ior_into(), and changed.
Referenced by df_lr_confluence_n(), df_md_confluence_n(), and propagate_pseudo_copies().
bool bitmap_ior_and_into | ( | ) |
A |= (B & C). Return true if A changes.
References bitmap_elt_copy(), bitmap_elt_ior(), bitmap_empty_p(), bitmap_ior_into(), bitmap_element_def::bits, changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by df_md_local_compute().
bool bitmap_ior_into | ( | ) |
A |= B. Return true if A changes.
References bitmap_elt_copy(), bitmap_elt_ior(), changed, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, and bitmap_element_def::next.
Referenced by add_dependence(), add_equivalence(), 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(), calculate_live_on_exit(), calculate_loop_reg_pressure(), compute_live_loop_exits(), compute_partial_antic_aux(), condense_visit(), 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(), do_ds_constraint(), do_sd_constraint(), dse_step2_init(), dse_step3(), dse_step3_exit_block_scan(), ebb_compute_jump_reg_dependencies(), find_split_points(), get_live_on_other_edges(), get_tm_region_blocks(), insert_updated_phi_nodes_for(), ipa_tm_scan_irr_function(), label_visit(), ldist_gen(), live_merge_and_clear(), loe_visit_block(), lra_assign(), lra_coalesce(), lra_constraints(), lra_eliminate(), lra_inheritance(), mark_replaceable(), merge_chains(), merge_clusters(), merge_graph_nodes(), move_exprs_to_boundary(), process_replaceable(), propagate_modified_regnos(), propagate_pseudo_copies(), pt_solution_ior_into(), rdg_build_partitions(), record_important_candidates(), remove_edge_and_dominated_blocks(), scan_reads_nospill(), set_union_with_increment(), solve_graph(), spill_for(), spill_pseudos(), ssa_conflicts_merge(), store_motion_loop(), thread_prologue_and_epilogue_insns(), tm_memopt_compute_antic(), tm_memopt_compute_available(), unify_nodes(), union_static_var_sets(), update_live_info(), update_reg_eliminate(), and vrp_intersect_ranges_1().
unsigned bitmap_last_set_bit | ( | ) |
Return the bit number of the first set bit in the bitmap. The bitmap must be non-empty.
References bitmap_popcount(), bitmap_element_def::bits, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, and bitmap_element_def::next.
bitmap bitmap_obstack_alloc_stat | ( | ) |
Create a new bitmap on an obstack. If BIT_OBSTACK is NULL, create it on the default bitmap obstack.
References bitmap_default_obstack, bitmap_initialize_stat(), bitmap_head_def::first, map, and register_overhead().
void bitmap_obstack_free | ( | ) |
Release an obstack allocated bitmap.
References bitmap_clear(), bitmap_head_def::first, bitmap_obstack::heads, map, bitmap_head_def::obstack, and register_overhead().
void bitmap_obstack_initialize | ( | ) |
Initialize a bitmap obstack. If BIT_OBSTACK is NULL, initialize the default bitmap obstack.
References bitmap_default_obstack, bitmap_default_obstack_depth, bitmap_obstack::elements, bitmap_obstack::heads, and bitmap_obstack::obstack.
Referenced by analyze_function(), analyze_functions(), calculate_live_ranges(), cgraph_add_new_function(), cgraph_materialize_clone(), compare_names(), compile(), df_live_alloc(), df_lr_alloc(), df_md_alloc(), df_rd_alloc(), df_scan_alloc(), df_word_lr_alloc(), dse_step0(), execute_tm_memopt(), expand_function(), expand_thunk(), find_replaceable_exprs(), gate_tm_init(), init_alias_vars(), init_dce(), init_live_reload_and_inheritance_pseudos(), init_lives(), init_pre(), init_reg_sets_1(), init_ssa_operands(), init_ssa_renamer(), init_subregs_of_mode(), init_update_ssa(), init_vars_expansion(), ipa_init(), ipa_passes(), ipa_reference_read_optimization_summary(), ipa_tm_execute(), ira(), lower_nested_functions(), lto_bitmap_alloc(), new_live_track(), perform_var_substitution(), reorg_loops(), rest_of_handle_df_initialize(), rewrite_into_loop_closed_ssa(), solve_graph(), ssa_conflicts_new(), and tree_ssa_lim_initialize().
void bitmap_obstack_release | ( | ) |
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, bitmap_obstack::heads, and bitmap_obstack::obstack.
Referenced by analyze_function(), analyze_functions(), cgraph_add_new_function(), cgraph_materialize_clone(), 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_rd_free(), df_scan_free_internal(), df_word_lr_free(), do_reload(), dse_step7(), execute_tm_edges(), execute_tm_memopt(), expand_function(), expand_thunk(), find_replaceable_exprs(), fini_dce(), fini_pre(), fini_ssa_operands(), fini_ssa_renamer(), fini_vars_expansion(), finish_live_reload_and_inheritance_pseudos(), finish_lives(), free_var_substitution_info(), gate_tm_init(), init_subregs_of_mode(), ipa_passes(), ipa_tm_execute(), lower_nested_functions(), propagate(), remove_preds_and_fake_succs(), rest_of_handle_df_finish(), rewrite_into_loop_closed_ssa(), solve_graph(), ssa_conflicts_delete(), and tree_ssa_lim_finalize().
|
static |
Referenced by bitmap_count_bits(), bitmap_last_set_bit(), and bitmap_single_bit_set_p().
DEBUG_FUNCTION void bitmap_print | ( | FILE * | file, |
const_bitmap | head, | ||
const char * | prefix, | ||
const char * | suffix | ||
) |
Function to print out the contents of a bitmap. Unlike debug_bitmap_file, it does not print anything but the bits.
Referenced by debug_ter(), debug_var_infos_r(), determine_use_iv_costs(), df_set_blocks(), dse_step2_init(), dse_step4(), dse_step5_nospill(), iv_ca_dump(), print_cluster(), print_insn_chain(), and same_succ_print().
void bitmap_register | ( | ) |
Register new bitmap.
References bitmap_descriptor_d::created, get_bitmap_descriptor(), and bitmap_descriptor_d::id.
bool bitmap_set_bit | ( | ) |
Set a single bit in a bitmap. Return true if the bit changed.
References bitmap_element_allocate(), bitmap_element_link(), bitmap_find_bit(), bitmap_element_def::bits, and bitmap_element_def::indx.
Referenced by add_bb_to_cluster(), add_branch_dependences(), add_candidate_1(), add_edge_to_ddg(), add_equivalence(), add_forwarder_blocks(), add_graph_edge(), add_implicit_graph_edge(), add_looparound_copies(), add_new_name_mapping(), add_pred_graph_edge(), add_regs_to_insn_regno_info(), add_stack_var_conflict(), add_static_var(), add_to_partition_kill_list(), add_to_repl_tbl(), add_to_value(), analyze_function(), apply_clusters(), assign_by_spills(), assign_spill_hard_regs(), assign_temporarily(), augment_live_range(), bitmap_insert_into_set_1(), bitmap_set_replace_value(), bitmap_set_subtract(), bitmap_value_insert_into_set(), break_superblocks(), btr_def_live_range(), build_access_from_expr(), build_accesses_from_assign(), build_insn_chain(), build_pred_graph(), build_scop_bbs_1(), build_store_vectors(), build_succ_graph(), cached_make_edge(), calc_dfs_tree(), calculate_bb_reg_pressure(), calculate_live_on_exit(), calculate_must_precede_follow(), cfg_blocks_add(), cgraph_create_virtual_clone(), change_loop(), check_dependency(), check_for_plus_in_loops_1(), check_forbidden_calls(), check_nodes_order(), check_sibcall_argument_overlap(), check_va_list_escapes(), cleanup_control_expr_graph(), cleanup_control_flow_bb(), cleanup_empty_eh_merge_phis(), coalesce_ssa_name(), coalesced_allocno_conflict_p(), code_motion_path_driver(), collect_object_sizes_for(), compare_names(), compute_always_reached(), compute_antic(), compute_antic_aux(), compute_builtin_object_size(), compute_cprop_data(), compute_defs_uses_and_gen(), compute_dom_prob_ps(), compute_dominance_frontiers_1(), compute_idf(), compute_live_loop_exits(), compute_local_properties(), compute_partial_antic_aux(), compute_trg_info(), condense_visit(), convert_callers_for_node(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), copyprop_hardreg_forward(), create_block_for_bookkeeping(), create_ddg_all_sccs(), create_expression_by_pieces(), create_insn_allocnos(), create_loop_allocnos(), create_loop_fn(), create_new_chain(), create_outofssa_var_map(), create_specialized_node(), cse_find_path(), cselib_expand_value_rtx_1(), curr_insn_transform(), dead_debug_add(), dead_debug_global_replace_temp(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_debug_reset_uses(), dead_or_predicable(), decompose_multiword_subregs(), defer_or_phi_translate_block(), deps_ok_for_redirect_from_bb_to_bb(), determine_dominators_for_sons(), determine_use_iv_costs(), df_analyze(), df_chain_create_bb(), 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_delete(), df_insn_rescan(), df_live_bb_local_compute(), df_live_set_all_dirty(), df_live_verify_transfer_functions(), df_lr_bb_local_compute(), df_lr_local_compute(), df_lr_verify_transfer_functions(), df_mark_reg(), df_md_bb_local_compute_process_def(), df_md_simulate_artificial_defs_at_top(), df_md_simulate_one_insn(), df_note_bb_compute(), df_notes_rescan(), df_rd_bb_local_compute_process_def(), df_rd_local_compute(), df_rd_simulate_artificial_defs_at_top(), df_rd_simulate_one_insn(), df_set_bb_dirty(), df_set_blocks(), df_set_unused_notes_for_mw(), df_simulate_finalize_backwards(), df_simulate_find_defs(), df_simulate_find_noclobber_defs(), df_simulate_find_uses(), df_simulate_initialize_backwards(), df_simulate_initialize_forwards(), df_simulate_uses(), df_word_lr_alloc(), df_word_lr_mark_ref(), df_worklist_dataflow(), df_worklist_propagate_backward(), df_worklist_propagate_forward(), dfs_find_deadend(), discover_loop(), do_complex_constraint(), do_ds_constraint(), do_invalidate(), do_regular_insertion(), do_sd_constraint(), draw_cfg_nodes_no_loops(), dse_optimize_stmt(), dse_step1(), dse_step2_nospill(), dump_rdg_component(), duplicate_computed_gotos(), duplicate_loop_to_header_edge(), ebb_add_block(), eh_region_outermost(), elim_backward(), elim_forward(), eliminate(), eliminate_bb(), emit_bookkeeping_insn(), estimate_insn_tick(), estimate_loops(), estimate_loops_at_level(), execute_optimize_stdarg(), execute_update_addresses_taken(), expr_expected_value_1(), extend_rgns(), extract_new_fences_from(), fast_dce(), fill_always_executed_in(), find_assert_locations_1(), find_call_stack_args(), find_decomposable_shift_zext(), find_decomposable_subregs(), find_defs(), find_depends(), find_ebb_boundaries(), find_exits(), find_moveable_pseudos(), find_nodes_on_paths(), find_param_candidates(), find_pseudo_copy(), find_refs_for_sm(), find_same_succ_bb(), find_split_points(), find_uses_to_rename_use(), fix_bb_live_info(), fix_bb_placements(), fix_inter_tick(), fix_loop_structure(), fix_recovery_deps(), fixup_noreturn_call(), flow_dfs_compute_reverse_add_bb(), form_reserv_sets_list(), gather_mem_refs_stmt(), get_live_on_other_edges(), get_loop_body_in_bfs_order(), get_loop_body_in_if_conv_order(), get_loop_hot_path(), get_loops_exits(), get_maxval_strlen(), get_or_alloc_constant_value_id(), get_tm_region_blocks(), gimple_ior_addresses_taken_1(), gimple_merge_blocks(), gimple_redirect_edge_and_branch(), gimplify_omp_for(), haifa_find_rgns(), hoist_code(), improve_inheritance(), inherit_in_ebb(), inherit_reload_reg(), init_live_reload_and_inheritance_pseudos(), init_live_subregs(), init_rename_info(), init_seqno_1(), initialize_uninitialized_regs(), initiate_excl_sets(), input_node_opt_summary(), insert_into_preds_of_block(), insert_updated_phi_nodes_for(), inverted_post_order_compute(), ipa_reference_read_optimization_summary(), ipa_reference_write_optimization_summary(), ipa_tm_propagate_irr(), ipa_tm_scan_irr_blocks(), ipa_tm_transform_calls(), ira_create_allocno(), ira_reassign_conflict_allocnos(), ira_reassign_pseudos(), ira_sort_regnos_for_alter_reg(), iterate_fix_dominators(), iv_analysis_loop_init(), iv_ca_set_cp(), label_visit(), ldist_gen(), link_btr_uses(), live_track_add_partition(), loe_visit_block(), longest_simple_path(), lra_push_insn_1(), lra_undo_inheritance(), lto_output(), make_dependent_on_partition(), make_edges(), make_live_on_entry(), mark_basic_block_deleted(), mark_bb_seen(), mark_block_for_update(), mark_conflict(), mark_control_dependent_edges_necessary(), mark_def_sites(), mark_dfs_back_edges(), mark_effect(), mark_elimination(), mark_for_renaming(), mark_insn(), mark_last_stmt_necessary(), mark_nodes_having_upstream_mem_writes(), mark_nonssa_use(), mark_operand_necessary(), mark_phi_for_rewrite(), mark_reachable_handlers(), mark_ref_regs(), mark_ref_stored(), mark_regno_birth_or_death(), mark_regno_live(), mark_replaceable(), mark_stmt_necessary(), mark_threaded_blocks(), maybe_add_sra_candidate(), maybe_lower_iteration_bound(), maybe_optimize_var(), maybe_skip_until(), merge_pseudos(), multiplier_allowed_in_address_p(), nearest_common_dominator_of_uses(), note_eh_region_may_contain_throw(), optimize_mode_switching(), optimize_stmt(), order_nodes_in_scc(), partition_view_bitmap(), partition_view_init(), perform_var_substitution(), post_order_compute(), pre_and_rev_post_order_compute(), pre_edge_insert(), predcom_tmp_var(), predict_paths_for_bb(), process_defs(), process_regs_for_copy(), process_replaceable(), propagate_rhs_into_lhs(), prune_expressions(), prune_insertions_deletions(), prune_uninit_phi_opnds_in_unrealizable_paths(), prune_unused_phi_nodes(), pt_solution_set_var(), rdg_build_components(), rdg_flag_loop_exits(), rdg_flag_vertex(), rdg_flag_vertex_and_dependent(), reachable_at_most_once(), record_dep_loop(), record_important_candidates(), record_invariant(), record_last_mem_set_info(), record_modified(), record_set(), record_store(), record_subregs_of_mode(), ref_indep_loop_p_2(), register_new_assert_for(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), release_ssa_name_after_update_ssa(), remove_dead_inserted_code(), remove_edge_and_dominated_blocks(), remove_forwarder_block(), remove_path(), remove_reachable_equiv_notes(), remove_scratches(), remove_some_program_points_and_update_live_ranges(), remove_ssa_form(), remove_unnecessary_allocnos(), remove_unreachable_handlers_no_lp(), remove_unused_ivs(), replace_uses_by(), rgn_add_block(), scan_function(), scan_reads_nospill(), scan_reads_spill(), scan_stores_nospill(), scan_stores_spill(), scc_visit(), scev_const_prop(), schedule_reg_move(), schedule_reg_moves(), sel_sched_region_1(), sese_build_liveouts_use(), sese_record_loop(), set_all_positions_unneeded(), set_control_dependence_map_bit(), set_def_block(), set_dependency_caches(), set_is_used(), set_iv(), set_livein_block(), set_position_unneeded(), set_reg_known_equiv_p(), set_uids_in_ptset(), set_union_with_increment(), set_unit_reserv(), set_usage_bits(), set_var_live_on_entry(), setup_live_pseudos_and_spill_after_risky_transforms(), setup_ref_regs(), setup_try_hard_regno_pseudos(), should_hoist_expr_to_dom(), simplify_gimple_switch_label_vec(), simplify_operand_subreg(), simulate_block(), solution_set_expand(), solve_graph(), spill_for(), spill_pseudos(), split_all_insns(), split_function(), split_reg(), ssa_conflicts_add_one(), ssa_conflicts_merge(), thread_across_edge(), thread_around_empty_block(), thread_prologue_and_epilogue_insns(), tm_memopt_accumulate_memops(), tm_memopt_transform_blocks(), tm_region_init(), tm_region_init_1(), topo_visit(), track_scheduled_insns_and_blocks(), tree_ssa_dominator_optimize(), try_scheduling_node_in_cycle(), undistribute_ops_list(), unify_nodes(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), update_alias_info_with_stack_vars(), update_bad_spill_attribute(), update_bitmap_cache(), update_caller_keys(), update_dist_to_successors(), update_dominators_in_loop(), update_ebb_live_info(), update_equiv_regs(), update_live_1(), update_live_info(), update_lives(), update_ssa(), use_pointer_for_field(), va_list_ptr_read(), value_dies_in_block_x(), vect_supported_load_permutation_p(), verify_loop_structure(), verify_non_ssa_vars(), verify_ssa(), visit_bb(), visit_conflict(), visit_op(), vt_find_locations(), and walk_aliased_vdefs_1().
void bitmap_set_range | ( | ) |
Set COUNT bits from START in HEAD.
References bitmap_element_allocate(), bitmap_element_link(), bitmap_elt_insert_after(), bitmap_find_bit(), bitmap_element_def::bits, count, bitmap_head_def::current, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, and bitmap_element_def::prev.
Referenced by add_used_regs_1(), df_mark_reg(), df_rd_bb_local_compute_process_def(), df_rd_dump_defs_set(), df_rd_local_compute(), df_rd_transfer_function(), look_for_hardregs(), mark_effect(), setup_ref_regs(), and update_live_1().
bool bitmap_single_bit_set_p | ( | ) |
Return true if the bitmap has a single bit set. Otherwise return false.
References bitmap_empty_p(), bitmap_popcount(), bitmap_element_def::bits, count, bitmap_head_def::first, and bitmap_element_def::next.
Referenced by pt_solution_singleton_p(), and same_succ_flush_bb().
void bitmap_xor | ( | ) |
void bitmap_xor_into | ( | ) |
DEBUG_FUNCTION void debug | ( | ) |
References dump_bitmap().
DEBUG_FUNCTION void debug_bitmap | ( | ) |
Function to be called from the debugger to print the contents of a bitmap.
References debug_bitmap_file().
DEBUG_FUNCTION void debug_bitmap_file | ( | ) |
Debugging function to print out the contents of a bitmap.
References bitmap_element_def::bits, bitmap_head_def::current, bitmap_head_def::first, bitmap_element_def::indx, bitmap_head_def::indx, bitmap_element_def::next, and bitmap_element_def::prev.
Referenced by debug_bitmap(), and dump_rdg_partitions().
void dump_bitmap_statistics | ( | void | ) |
Output per-bitmap memory usage statistics.
References output_info::count, HOST_WIDEST_INT_PRINT, hash_table< Descriptor, Allocator >::is_created(), print_statistics(), output_info::size, and hash_table< Descriptor, Allocator >::traverse().
Referenced by dump_memory_report().
|
static |
For given file and line, return descriptor, create new if needed.
References hash_table< Descriptor, Allocator >::create(), loc::file, hash_table< Descriptor, Allocator >::find_slot_with_hash(), loc::function, hash_table< Descriptor, Allocator >::is_created(), loc::line, and next_bitmap_desc_id.
Referenced by bitmap_register().
int print_statistics | ( | ) |
Called via hash_table::traverse. Output bitmap descriptor pointed out by SLOT and update statistics.
References bitmap_descriptor_d::allocated, output_info::count, bitmap_descriptor_d::created, bitmap_descriptor_d::current, bitmap_descriptor_d::file, bitmap_descriptor_d::function, HOST_WIDEST_INT_PRINT, bitmap_descriptor_d::line, bitmap_descriptor_d::nsearches, bitmap_descriptor_d::peak, bitmap_descriptor_d::search_iter, output_info::size, and strstr().
Referenced by dump_bitmap_statistics().
|
static |
Account the overhead.
References bitmap_descriptor_d::allocated, bitmap_descriptor_d::current, bitmap_head_def::descriptor_id, and bitmap_descriptor_d::peak.
Referenced by bitmap_element_allocate(), bitmap_element_free(), bitmap_elt_clear_from(), bitmap_gc_alloc_stat(), bitmap_obstack_alloc_stat(), and bitmap_obstack_free().
bitmap_obstack bitmap_default_obstack |
Referenced by bitmap_obstack_alloc_stat(), bitmap_obstack_initialize(), bitmap_obstack_release(), create_new_chain(), df_chain_create_bb(), df_live_verify_transfer_functions(), df_lr_verify_transfer_functions(), df_md_local_compute(), init_rename_info(), regrename_analyze(), rewrite_into_ssa(), thread_prologue_and_epilogue_insns(), and update_ssa().
|
static |
Referenced by bitmap_obstack_initialize(), and bitmap_obstack_release().
|
static |
Hashtable mapping bitmap names to descriptors.
|
static |
Vector mapping descriptor ids to descriptors.
|
static |
Referenced by bitmap_elem_to_freelist(), bitmap_element_allocate(), and bitmap_elt_clear_from().
bitmap_element bitmap_zero_bits |
Global data
|
static |
Next available unique id number for bitmap desciptors.
Referenced by get_bitmap_descriptor().
|
static |
Table of number of set bits in a character, indexed by value of char.