Operation Bitmap Kill

Bitmaps have significant overhead, even though they are convenient and memory saving for large bitmaps. So when the maximum length of a bitmap is limited, most times it should be replaced by HARD_REG_SET (example case of a 10x improvement) or sbitmap.h. If the bitmap is too big or unlimited in size, and it is frequently accessed, then it should be measured against ebitmap.h which is better complexity-wise.

Here are the top callers (metric: instruction count).

 24,429,975  < df-problems.c:df_lr_bb_local_compute (655453x) [cc1]
 21,970,496  < df-problems.c:df_note_compute (523663x) [cc1]
 14,396,313  < df-core.c:df_worklist_dataflow (267369x) [cc1]
 13,288,854  < cprop.c:execute_rtl_cprop (360315x) [cc1]
  7,848,373  < df-problems.c:df_simulate_uses (203834x) [cc1]
  7,598,703  < df-problems.c:df_md_bb_local_compute_process_def (187700x) [cc1]
  6,929,971  < regstat.c:regstat_compute_ri (165537x) [cc1]
  6,822,138  < df-core.c:df_analyze (94869x) [cc1]
  5,934,612  < tree-ssa-pre.c:bitmap_insert_into_set_1 (108702x) [cc1]
  5,672,777  < df-problems.c:df_rd_bb_local_compute_process_def (139324x) [cc1]
  5,628,958  < tree-ssa-structalias.c:solve_constraints (121730x) [cc1]
  4,618,742  < df-problems.c:df_live_bb_local_compute (114507x) [cc1]
  4,181,210  < fwprop.c:process_defs (115778x) [cc1]
  3,776,914  < tree-ssa-pre.c:bitmap_value_insert_into_set (84700x) [cc1]
  3,661,421  < df-core.c:df_set_bb_dirty (98292x) [cc1]
  3,382,085  < dce.c:fast_dce (59222x) [cc1]
  3,062,477  < df-problems.c:df_simulate_initialize_backwards (87460x) [cc1]
  2,997,223  < ira.c:rest_of_handle_ira (64646x) [cc1]
  2,862,254  < tree-into-ssa.c:mark_block_for_update (79070x) [cc1]
  2,753,084  < tree-ssa-structalias.c:add_implicit_graph_edge.isra.36 (47145x) [cc1]
  2,490,857  < df-problems.c:df_simulate_find_noclobber_defs (65733x) [cc1]
  2,370,648  < tree-ssa-structalias.c:add_graph_edge.isra.37 (51905x) [cc1]
  2,096,000  < sched-deps.c:deps_analyze_insn (57640x) [cc1]
  2,025,582  < dse.c:record_store (30002x) [cc1]
  2,025,077  < sched-deps.c:sched_analyze_insn (56915x) [cc1]
  1,747,854  < tree-ssa-structalias.c:add_pred_graph_edge.isra.35 (28343x) [cc1]
  1,705,572  < tree-ssa-alias.c:walk_aliased_vdefs_1.constprop.17'2 (26475x) [cc1]
  1,636,697  < cfganal.c:compute_dominance_frontiers (33121x) [cc1]
  1,290,320  < tree-ssa-alias.c:walk_aliased_vdefs_1.constprop.17 (27453x) [cc1]
  1,285,474  < df-problems.c:df_rd_simulate_one_insn (24628x) [cc1]
  1,274,578  < dse.c:scan_stores_nospill (34726x) [cc1]
  1,152,411  < reload1.c:count_pseudo (25315x) [cc1]
  1,090,593  < sched-deps.c:haifa_note_reg_use (23137x) [cc1]
  1,047,310  < tree-ssa-pre.c:bitmap_set_subtract (21550x) [cc1]
  1,041,562  < regstat.c:regstat_compute_calls_crossed (29388x) [cc1]
  1,037,942  < tree-into-ssa.c:set_def_block.isra.40 (22507x) [cc1]
  1,029,821  < dse.c:rest_of_handle_dse (28184x) [cc1]

 19,613,570  < df-problems.c:df_note_compute (918703x) [cc1]
 15,510,792  < df-problems.c:df_simulate_defs (719329x) [cc1]
  9,857,602  < df-problems.c:df_lr_bb_local_compute (464693x) [cc1]
  6,661,969  < df-core.c:df_worklist_dataflow (136883x) [cc1]
  2,214,753  < df-problems.c:df_md_bb_local_compute_process_def (151739x) [cc1]
  1,594,983  < regstat.c:regstat_compute_ri (50406x) [cc1]
  1,544,597  < ira.c:rest_of_handle_ira (71558x) [cc1]
  1,218,974  < tree-ssa-structalias.c:solve_constraints (58852x) [cc1]
    850,928  < tree-ssa-pre.c:bitmap_value_replace_in_set (25037x) [cc1]
    745,960  < regstat.c:regstat_compute_calls_crossed (15276x) [cc1]
    682,599  < cselib.c:cselib_expand_value_rtx_1'2 (12533x) [cc1]
    517,161  < df-problems.c:df_simulate_one_insn_forwards (16068x) [cc1]
    429,005  < tree-ssa-ter.c:finished_with_expr (5270x) [cc1]
    428,508  < df-scan.c:df_insn_rescan (65612x) [cc1]
    421,367  < df-scan.c:df_insn_delete (62816x) [cc1]
    407,525  < fwprop.c:process_defs (35961x) [cc1]
    367,946  < predict.c:propagate_freq (6550x) [cc1]
    250,091  < tree-cfgcleanup.c:cleanup_tree_cfg (7609x) [cc1]
    239,948  < tree-ssa-pre.c:bitmap_remove_from_set (8056x) [cc1]
    129,179  < dse.c:scan_reads_nospill.isra.23 (12758x) [cc1]
    118,560  < ira.c:mark_elimination (4560x) [cc1]
    107,506  < df-scan.c:df_notes_rescan (12038x) [cc1]
    102,728  < tree-ssa-coalesce.c:coalesce_ssa_name (1802x) [cc1]
    101,621  < tree-ssa-pre.c:bitmap_set_and (2843x) [cc1]

 11,242,029  < df-problems.c:df_note_compute (577362x) [cc1]
  4,490,508  < df-scan.c:df_insn_refs_collect (355212x) [cc1]
  4,014,269  < df-problems.c:df_rd_bb_local_compute_process_def (271800x) [cc1]
  3,601,496  < df-problems.c:df_create_unused_note (199333x) [cc1]
  3,229,621  < tree-into-ssa.c:symbol_marked_for_renaming (174143x) [cc1]
  2,718,081  < dce.c:fast_dce (161229x) [cc1]
  2,627,601  < tree-ssa-sccvn.c:value_id_constant_p (178813x) [cc1]
  2,262,938  < tree-ssa-pre.c:sorted_array_from_bitmap_set (58724x) [cc1]
  2,248,827  < tree-ssa-structalias.c:find_equivalent_node (123426x) [cc1]
  1,918,700  < reginfo.c:invalid_mode_change_p (183853x) [cc1]
  1,901,717  < fwprop.c:process_uses (127843x) [cc1]
  1,288,275  < reload1.c:count_pseudo (76940x) [cc1]
  1,189,860  < tree-ssa-pre.c:bitmap_set_contains_value (62284x) [cc1]
  1,145,870  < df-core.c:df_compact_blocks (105374x) [cc1]
  1,083,173  < tree-into-ssa.c:rewrite_update_enter_block (61694x) [cc1]
  1,065,843  < regstat.c:regstat_compute_ri (59018x) [cc1]
    866,995  < df-problems.c:df_md_bb_local_compute_process_def (151739x) [cc1]
    828,409  < tree-ssa.c:maybe_optimize_var (75630x) [cc1]
    738,575  < ira-color.c:assign_hard_reg (42043x) [cc1]
    579,619  < tree-into-ssa.c:prepare_block_for_update'2 (19580x) [cc1]
    498,964  < cprop.c:reg_not_set_p.isra.13 (31287x) [cc1]
    428,816  < df-core.c:df_prune_to_subcfg (10544x) [cc1]
    419,303  < ira.c:rest_of_handle_ira (21820x) [cc1]
    341,601  < tree-ssa-pre.c:valid_in_sets (16735x) [cc1]
    336,316  < init-regs.c:rest_of_handle_initialize_regs (23256x) [cc1]
    323,755  < cprop.c:reg_available_p.isra.12 (20042x) [cc1]
    299,753  < dominance.c:calc_idoms (42164x) [cc1]
    295,239  < tree-into-ssa.c:insert_phi_nodes_for (16828x) [cc1]
    280,358  < tree-ssa-structalias.c:solve_constraints (17425x) [cc1]
    228,083  < tree-into-ssa.c:mark_def_sites_block (13582x) [cc1]
    226,967  < tree-into-ssa.c:mark_def_interesting (13351x) [cc1]
    192,398  < ssaexpand.h:gimple_expand_cfg (9307x)
    190,695  < dce.c:prescan_insns_for_dce (38139x) [cc1]
    188,620  < combine.c:get_last_value_validate'2 (10590x) [cc1]
    185,049  < df-core.c:df_get_bb_dirty (23461x) [cc1]
    158,689  < df-problems.c:df_md_local_compute (4130x) [cc1]

None: Operation Bitmap Kill (last edited 2012-03-18 20:10:59 by 147)