toplev.c (dump_file_index): Add DFI_ce3.
authorJan Hubicka <jh@suse.cz>
Fri, 25 Oct 2002 23:46:06 +0000 (01:46 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 25 Oct 2002 23:46:06 +0000 (23:46 +0000)
* toplev.c (dump_file_index): Add DFI_ce3.
(dump_file_info): Likewise.
(rest_of_compilation): Run first ifcvt pass before tracer.

From-SVN: r58547

gcc/ChangeLog
gcc/toplev.c

index 9778a0fcc3f1c455a7b1b35cc23af9ad6cc5ed1e..9b33a9c8d52660ea78148521931450b167a4c678 100644 (file)
@@ -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.
index 815450e00456f4ec4777de46944f1c175a791ad5..8e94326d37e77609160ec8d84f694ef8c7fe1af0 100644 (file)
@@ -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