aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-06-12 16:51:09 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-06-12 14:51:09 +0000
commit495333a652d5ca1dbeee793e56d158bf41023bbd (patch)
tree701aae7fc166b5ad570e72afccb4df30e0b4c171 /gcc/toplev.c
parent8ddfd7e562365b9684e64cedb2325121ea570878 (diff)
downloadgcc-495333a652d5ca1dbeee793e56d158bf41023bbd.zip
gcc-495333a652d5ca1dbeee793e56d158bf41023bbd.tar.gz
gcc-495333a652d5ca1dbeee793e56d158bf41023bbd.tar.bz2
i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether emit the short opcode.
* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether emit the short opcode. * i386.h (x86_shift1): Declare. (TARGET_SHIFT1): New macro. * i386.c (x86_shift1): New global variable. * toplev.c (rest_of_compilation): Call find_basic_block pre-loop unconditionally; make loop to rebuild CFG; kill unnecesary find_basic_block calls; kill compute_bb_for_insn call. * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call. * haifa-sched.c (sched_init): Likewise. * ssa-ccp.c (ssa_const_prop): Likewise. * ssa-dce.c (ssa_eliminate_dead_code): Likewise. From-SVN: r54552
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 4f13543..5105ec8 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2642,6 +2642,7 @@ rest_of_compilation (decl)
free_bb_for_insn ();
copy_loop_headers (insns);
purge_line_number_notes (insns);
+ find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
timevar_pop (TV_JUMP);
close_dump_file (DFI_jump, print_rtl, insns);
@@ -2662,7 +2663,6 @@ rest_of_compilation (decl)
timevar_push (TV_TO_SSA);
open_dump_file (DFI_ssa, decl);
- find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
convert_to_ssa ();
@@ -2717,8 +2717,6 @@ rest_of_compilation (decl)
timevar_pop (TV_FROM_SSA);
ggc_collect ();
- /* CFG is no longer maintained up-to-date. */
- free_bb_for_insn ();
}
timevar_push (TV_JUMP);
@@ -2726,7 +2724,6 @@ rest_of_compilation (decl)
if (flag_delete_null_pointer_checks || flag_if_conversion)
{
open_dump_file (DFI_null, decl);
- find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
if (rtl_dump_file)
dump_flow_info (rtl_dump_file);
cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
@@ -2745,8 +2742,6 @@ rest_of_compilation (decl)
maximum instruction UID, so if we can reduce the maximum UID
we'll save big on memory. */
renumber_insns (rtl_dump_file);
- if (optimize)
- compute_bb_for_insn ();
timevar_pop (TV_JUMP);
close_dump_file (DFI_jump, print_rtl_with_bb, insns);
@@ -2794,7 +2789,6 @@ rest_of_compilation (decl)
/* The second pass of jump optimization is likely to have
removed a bunch more instructions. */
renumber_insns (rtl_dump_file);
- compute_bb_for_insn ();
timevar_pop (TV_CSE);
close_dump_file (DFI_cse, print_rtl_with_bb, insns);
@@ -2912,6 +2906,7 @@ rest_of_compilation (decl)
delete_trivially_dead_insns (insns, max_reg_num ());
close_dump_file (DFI_loop, print_rtl, insns);
timevar_pop (TV_LOOP);
+ find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
ggc_collect ();
}
@@ -2921,8 +2916,6 @@ rest_of_compilation (decl)
timevar_push (TV_FLOW);
open_dump_file (DFI_cfg, decl);
-
- find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
if (rtl_dump_file)
dump_flow_info (rtl_dump_file);
cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0)