* basic-block.h: Update the prototype for
purge_all_dead_edges.
* cfgexpand.c (tree_expand_cfg): Update a call to
purge_all_dead_edges.
* combine.c (combine_instructions): Likewise.
* passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
rest_of_handle_cse2, rest_of_handle_gcse,
rest_of_handle_postreload): likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98168
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-04-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
+ * basic-block.h: Update the prototype for
+ purge_all_dead_edges.
+ * cfgexpand.c (tree_expand_cfg): Update a call to
+ purge_all_dead_edges.
+ * combine.c (combine_instructions): Likewise.
+ * passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
+ rest_of_handle_cse2, rest_of_handle_gcse,
+ rest_of_handle_postreload): likewise.
+
2005-04-15 Alexandre Oliva <aoliva@redhat.com>
PR middle-end/20739
extern basic_block force_nonfallthru (edge);
extern rtx block_label (basic_block);
extern bool forwarder_block_p (basic_block);
-extern bool purge_all_dead_edges (int);
+extern bool purge_all_dead_edges (void);
extern bool purge_dead_edges (basic_block);
extern void find_many_sub_basic_blocks (sbitmap);
extern void rtl_make_eh_edge (sbitmap, basic_block, rtx);
blocks = sbitmap_alloc (last_basic_block);
sbitmap_ones (blocks);
find_many_sub_basic_blocks (blocks);
- purge_all_dead_edges (0);
+ purge_all_dead_edges ();
sbitmap_free (blocks);
compact_blocks ();
true if some edge has been eliminated. */
bool
-purge_all_dead_edges (int update_life_p)
+purge_all_dead_edges (void)
{
int purged = false;
- sbitmap blocks = 0;
basic_block bb;
- if (update_life_p)
- {
- blocks = sbitmap_alloc (last_basic_block);
- sbitmap_zero (blocks);
- }
-
FOR_EACH_BB (bb)
{
bool purged_here = purge_dead_edges (bb);
purged |= purged_here;
- if (purged_here && update_life_p)
- SET_BIT (blocks, bb->index);
}
- if (update_life_p && purged)
- update_life_info (blocks, UPDATE_LIFE_GLOBAL,
- PROP_DEATH_NOTES | PROP_SCAN_DEAD_CODE
- | PROP_KILL_DEAD_CODE);
-
- if (update_life_p)
- sbitmap_free (blocks);
return purged;
}
EXECUTE_IF_SET_IN_SBITMAP (refresh_blocks, 0, i,
BASIC_BLOCK (i)->flags |= BB_DIRTY);
- new_direct_jump_p |= purge_all_dead_edges (0);
+ new_direct_jump_p |= purge_all_dead_edges ();
delete_noop_moves ();
update_life_info_in_dirty_blocks (UPDATE_LIFE_GLOBAL_RM_NOTES,
timevar_push (TV_JUMP);
rebuild_jump_labels (get_insns ());
- purge_all_dead_edges (0);
+ purge_all_dead_edges ();
delete_unreachable_blocks ();
timevar_pop (TV_JUMP);
tem = cse_main (get_insns (), max_reg_num (), dump_file);
if (tem)
rebuild_jump_labels (get_insns ());
- if (purge_all_dead_edges (0))
+ if (purge_all_dead_edges ())
delete_unreachable_blocks ();
delete_trivially_dead_insns (get_insns (), max_reg_num ());
bypassed safely. */
cse_condition_code_reg ();
- purge_all_dead_edges (0);
+ purge_all_dead_edges ();
delete_trivially_dead_insns (get_insns (), max_reg_num ());
if (tem)
timevar_push (TV_CSE);
reg_scan (get_insns (), max_reg_num ());
tem2 = cse_main (get_insns (), max_reg_num (), dump_file);
- purge_all_dead_edges (0);
+ purge_all_dead_edges ();
delete_trivially_dead_insns (get_insns (), max_reg_num ());
timevar_pop (TV_CSE);
cse_not_expected = !flag_rerun_cse_after_loop;
/* reload_cse_regs can eliminate potentially-trapping MEMs.
Remove any EH edges associated with them. */
if (flag_non_call_exceptions)
- purge_all_dead_edges (0);
+ purge_all_dead_edges ();
close_dump_file (DFI_postreload, print_rtl_with_bb, get_insns ());
timevar_pop (TV_RELOAD_CSE_REGS);