passes.c (rest_of_handle_null_pointer): Remove.
* passes.c (rest_of_handle_null_pointer): Remove. (rest_of_handle_cse): Don't call rest_of_handle_null_pointer. (rest_of_compilation): Likewise. * rtl.h (delete_null_pointer_checks): Remove prototype. * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out): Remove declarations. (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set, compute_kill_rd, compute_rd, alloc_avail_expr_mem, free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill, expr_reaches_here_p, computing_insn, def_reaches_here_p, can_disregard_other_sets, handle_avail_expr, classic_gcse, one_classic_gcse_pass, invalidate_nonnull_info, delete_null_pointer_checks_1, delete_null_pointer_checks, expr_reached_here_p_work): Remove. (gcse_main): Do not perform classic GCSE when optimizing for size. (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they are never used. From-SVN: r81849
This commit is contained in:
parent
4f9c6b6e18
commit
e83f48010b
@ -1,3 +1,23 @@
|
||||
2004-05-14 Steven Bosscher <stevenb@suse.de>
|
||||
|
||||
* passes.c (rest_of_handle_null_pointer): Remove.
|
||||
(rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
|
||||
(rest_of_compilation): Likewise.
|
||||
* rtl.h (delete_null_pointer_checks): Remove prototype.
|
||||
* gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
|
||||
Remove declarations.
|
||||
(get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
|
||||
compute_kill_rd, compute_rd, alloc_avail_expr_mem,
|
||||
free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
|
||||
expr_reaches_here_p, computing_insn, def_reaches_here_p,
|
||||
can_disregard_other_sets, handle_avail_expr, classic_gcse,
|
||||
one_classic_gcse_pass, invalidate_nonnull_info,
|
||||
delete_null_pointer_checks_1, delete_null_pointer_checks,
|
||||
expr_reached_here_p_work): Remove.
|
||||
(gcse_main): Do not perform classic GCSE when optimizing for size.
|
||||
(alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
|
||||
are never used.
|
||||
|
||||
2004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR optimization/14466
|
||||
|
1149
gcc/gcse.c
1149
gcc/gcse.c
File diff suppressed because it is too large
Load Diff
30
gcc/passes.c
30
gcc/passes.c
@ -1004,20 +1004,6 @@ rest_of_handle_jump_bypass (tree decl, rtx insns)
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Try to identify useless null pointer tests and delete them. */
|
||||
static void
|
||||
rest_of_handle_null_pointer (tree decl, rtx insns)
|
||||
{
|
||||
open_dump_file (DFI_null, decl);
|
||||
if (dump_file)
|
||||
dump_flow_info (dump_file);
|
||||
|
||||
if (delete_null_pointer_checks (insns))
|
||||
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
|
||||
|
||||
close_dump_file (DFI_null, print_rtl_with_bb, insns);
|
||||
}
|
||||
|
||||
/* Try combining insns through substitution. */
|
||||
static void
|
||||
rest_of_handle_combine (tree decl, rtx insns)
|
||||
@ -1120,19 +1106,6 @@ rest_of_handle_cse (tree decl, rtx insns)
|
||||
|
||||
if (tem || optimize > 1)
|
||||
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
|
||||
/* Try to identify useless null pointer tests and delete them. */
|
||||
if (flag_delete_null_pointer_checks)
|
||||
{
|
||||
timevar_push (TV_JUMP);
|
||||
|
||||
if (delete_null_pointer_checks (insns))
|
||||
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
|
||||
timevar_pop (TV_JUMP);
|
||||
}
|
||||
|
||||
/* The second pass of jump optimization is likely to have
|
||||
removed a bunch more instructions. */
|
||||
renumber_insns (dump_file);
|
||||
|
||||
timevar_pop (TV_CSE);
|
||||
close_dump_file (DFI_cse, print_rtl_with_bb, insns);
|
||||
@ -1547,9 +1520,6 @@ rest_of_compilation (tree decl)
|
||||
if (optimize)
|
||||
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
|
||||
|
||||
if (flag_delete_null_pointer_checks)
|
||||
rest_of_handle_null_pointer (decl, insns);
|
||||
|
||||
/* Jump optimization, and the removal of NULL pointer checks, may
|
||||
have reduced the number of instructions substantially. CSE, and
|
||||
future passes, allocate arrays whose dimensions involve the
|
||||
|
@ -2320,8 +2320,6 @@ extern void cannot_change_mode_set_regs (HARD_REG_SET *,
|
||||
extern bool invalid_mode_change_p (unsigned int, enum reg_class,
|
||||
enum machine_mode);
|
||||
|
||||
extern int delete_null_pointer_checks (rtx);
|
||||
|
||||
/* In regmove.c */
|
||||
#ifdef BUFSIZ
|
||||
extern void regmove_optimize (rtx, int, FILE *);
|
||||
|
Loading…
Reference in New Issue
Block a user