diff options
author | Jan Hubicka <jh@suse.cz> | 2002-10-26 01:46:06 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-10-25 23:46:06 +0000 |
commit | 0fb53e681df209314cd78a791423bfd8476b8c78 (patch) | |
tree | 8b1c70d5d921a7f98413e7ae9ab641812a9cbb24 | |
parent | e004b81f6ed37e05d3cf37dd9aa3c961bce0b6a9 (diff) | |
download | gcc-0fb53e681df209314cd78a791423bfd8476b8c78.zip gcc-0fb53e681df209314cd78a791423bfd8476b8c78.tar.gz gcc-0fb53e681df209314cd78a791423bfd8476b8c78.tar.bz2 |
toplev.c (dump_file_index): Add DFI_ce3.
* toplev.c (dump_file_index): Add DFI_ce3.
(dump_file_info): Likewise.
(rest_of_compilation): Run first ifcvt pass before tracer.
From-SVN: r58547
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/toplev.c | 38 |
2 files changed, 29 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9778a0f..9b33a9c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Sat Oct 26 01:44:46 CEST 2002 Jan Hubicka <jh@suse.cz> + + * toplev.c (dump_file_index): Add DFI_ce3. + (dump_file_info): Likewise. + (rest_of_compilation): Run first ifcvt pass before tracer. + 2002-10-25 Steve Ellcey <sje@cup.hp.com> * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove. diff --git a/gcc/toplev.c b/gcc/toplev.c index 815450e..8e94326 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -232,11 +232,12 @@ enum dump_file_index DFI_loop, DFI_cfg, DFI_bp, + DFI_ce1, DFI_tracer, DFI_cse2, DFI_life, DFI_combine, - DFI_ce, + DFI_ce2, DFI_regmove, DFI_sched, DFI_lreg, @@ -245,7 +246,7 @@ enum dump_file_index DFI_flow2, DFI_peephole2, DFI_rnreg, - DFI_ce2, + DFI_ce3, DFI_sched2, DFI_stack, DFI_bbro, @@ -278,13 +279,14 @@ static struct dump_file_info dump_file[DFI_MAX] = { "addressof", 'F', 0, 0, 0 }, { "gcse", 'G', 1, 0, 0 }, { "loop", 'L', 1, 0, 0 }, + { "ce1", 'C', 1, 0, 0 }, { "cfg", 'f', 1, 0, 0 }, { "bp", 'b', 1, 0, 0 }, { "tracer", 'T', 1, 0, 0 }, { "cse2", 't', 1, 0, 0 }, { "life", 'f', 1, 0, 0 }, /* Yes, duplicate enable switch. */ { "combine", 'c', 1, 0, 0 }, - { "ce", 'C', 1, 0, 0 }, + { "ce2", 'C', 1, 0, 0 }, { "regmove", 'N', 1, 0, 0 }, { "sched", 'S', 1, 0, 0 }, { "lreg", 'l', 1, 0, 0 }, @@ -293,7 +295,7 @@ static struct dump_file_info dump_file[DFI_MAX] = { "flow2", 'w', 1, 0, 0 }, { "peephole2", 'z', 1, 0, 0 }, { "rnreg", 'n', 1, 0, 0 }, - { "ce2", 'E', 1, 0, 0 }, + { "ce3", 'E', 1, 0, 0 }, { "sched2", 'R', 1, 0, 0 }, { "stack", 'k', 1, 0, 0 }, { "bbro", 'B', 1, 0, 0 }, @@ -2985,6 +2987,18 @@ rest_of_compilation (decl) close_dump_file (DFI_bp, print_rtl_with_bb, insns); timevar_pop (TV_BRANCH_PROB); } + if (flag_if_conversion) + { + timevar_push (TV_IFCVT); + if (rtl_dump_file) + dump_flow_info (rtl_dump_file); + open_dump_file (DFI_ce1, decl); + cleanup_cfg (CLEANUP_EXPENSIVE); + reg_scan (insns, max_reg_num (), 0); + if_convert (0); + close_dump_file (DFI_ce1, print_rtl_with_bb, get_insns ()); + timevar_pop (TV_IFCVT); + } if (flag_tracer) { timevar_push (TV_TRACER); @@ -3009,16 +3023,10 @@ rest_of_compilation (decl) if (flag_rerun_cse_after_loop) { timevar_push (TV_JUMP); - reg_scan (insns, max_reg_num (), 0); + timevar_pop (TV_JUMP); - timevar_push (TV_IFCVT); cleanup_cfg (CLEANUP_EXPENSIVE); - if (flag_if_conversion) - if_convert (0); - timevar_pop (TV_IFCVT); - - timevar_pop (TV_JUMP); /* CFG is no longer maintained up-to-date. */ reg_scan (insns, max_reg_num (), 0); tem = cse_main (insns, max_reg_num (), 1, rtl_dump_file); @@ -3117,13 +3125,13 @@ rest_of_compilation (decl) if (flag_if_conversion) { timevar_push (TV_IFCVT); - open_dump_file (DFI_ce, decl); + open_dump_file (DFI_ce2, decl); no_new_pseudos = 0; if_convert (1); no_new_pseudos = 1; - close_dump_file (DFI_ce, print_rtl_with_bb, insns); + close_dump_file (DFI_ce2, print_rtl_with_bb, insns); timevar_pop (TV_IFCVT); } @@ -3399,11 +3407,11 @@ rest_of_compilation (decl) if (flag_if_conversion2) { timevar_push (TV_IFCVT2); - open_dump_file (DFI_ce2, decl); + open_dump_file (DFI_ce3, decl); if_convert (1); - close_dump_file (DFI_ce2, print_rtl_with_bb, insns); + close_dump_file (DFI_ce3, print_rtl_with_bb, insns); timevar_pop (TV_IFCVT2); } #ifdef STACK_REGS |