2013-04-10 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Apr 2013 11:33:31 +0000 (11:33 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Apr 2013 11:33:31 +0000 (11:33 +0000)
* passes.c (execute_todo): Do not call ggc_collect conditional here.
(execute_one_ipa_transform_pass): But unconditionally here.
(execute_one_pass): And here.
(init_optimization_passes): Remove reload pass.
* tree-pass.h (TODO_ggc_collect): Remove.
(pass_reload): Likewise.
* ira.c (do_reload): Merge into ...
(ira): ... this.
(rest_of_handle_reload): Remove.
(pass_reload): Likewise.
* config/i386/i386.c (ix86_option_override): Refer to ira instead
of reload for vzeroupper pass placement.
* <everywhere>: Remove TODO_ggc_collect from todo_flags_start
and todo_flags_finish of all passes.

* g++.dg/pr55604.C: Use -fdump-rtl-ira.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197671 138bc75d-0d04-0410-961f-82ee72b054a4

58 files changed:
gcc/ChangeLog
gcc/bt-load.c
gcc/cfgcleanup.c
gcc/cfgexpand.c
gcc/combine-stack-adj.c
gcc/combine.c
gcc/compare-elim.c
gcc/config/i386/i386.c
gcc/cprop.c
gcc/cse.c
gcc/dce.c
gcc/dse.c
gcc/final.c
gcc/function.c
gcc/gcse.c
gcc/ifcvt.c
gcc/ipa-cp.c
gcc/ipa-inline.c
gcc/ipa.c
gcc/ira.c
gcc/loop-init.c
gcc/lower-subreg.c
gcc/modulo-sched.c
gcc/passes.c
gcc/postreload-gcse.c
gcc/predict.c
gcc/ree.c
gcc/reg-stack.c
gcc/regmove.c
gcc/reorg.c
gcc/sched-rgn.c
gcc/store-motion.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/pr55604.C
gcc/tree-cfgcleanup.c
gcc/tree-complex.c
gcc/tree-emutls.c
gcc/tree-loop-distribution.c
gcc/tree-nrv.c
gcc/tree-pass.h
gcc/tree-sra.c
gcc/tree-ssa-ccp.c
gcc/tree-ssa-copy.c
gcc/tree-ssa-dom.c
gcc/tree-ssa-dse.c
gcc/tree-ssa-forwprop.c
gcc/tree-ssa-ifcombine.c
gcc/tree-ssa-loop.c
gcc/tree-ssa-phiopt.c
gcc/tree-ssa-phiprop.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-reassoc.c
gcc/tree-ssa-sink.c
gcc/tree-ssa-strlen.c
gcc/tree-switch-conversion.c
gcc/tree-vectorizer.c
gcc/tree-vrp.c
gcc/tree.c

index 98feb2c..2a95de1 100644 (file)
@@ -1,5 +1,22 @@
 2013-04-10  Richard Biener  <rguenther@suse.de>
 
+       * passes.c (execute_todo): Do not call ggc_collect conditional here.
+       (execute_one_ipa_transform_pass): But unconditionally here.
+       (execute_one_pass): And here.
+       (init_optimization_passes): Remove reload pass.
+       * tree-pass.h (TODO_ggc_collect): Remove.
+       (pass_reload): Likewise.
+       * ira.c (do_reload): Merge into ...
+       (ira): ... this.
+       (rest_of_handle_reload): Remove.
+       (pass_reload): Likewise.
+       * config/i386/i386.c (ix86_option_override): Refer to ira instead
+       of reload for vzeroupper pass placement.
+       * <everywhere>: Remove TODO_ggc_collect from todo_flags_start
+       and todo_flags_finish of all passes.
+
+2013-04-10  Richard Biener  <rguenther@suse.de>
+
        * tree-vectorizer.h (struct _slp_oprnd_info): Remove
        first_const_oprnd field, rename first_def_type to first_op_type.
        * tree-vect-slp.c (vect_create_oprnd_info): Adjust.
index 471ae42..9ca1bd9 100644 (file)
@@ -1520,8 +1520,7 @@ struct rtl_opt_pass pass_branch_target_load_optimize1 =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
+  TODO_verify_rtl_sharing,              /* todo_flags_finish */
  }
 };
 
@@ -1570,6 +1569,6 @@ struct rtl_opt_pass pass_branch_target_load_optimize2 =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect,                     /* todo_flags_finish */
+  0,                                    /* todo_flags_finish */
  }
 };
index 2fcefc6..7764c6c 100644 (file)
@@ -3055,7 +3055,7 @@ struct rtl_opt_pass pass_jump =
   0,                                   /* properties_required */
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
-  TODO_ggc_collect,                    /* todo_flags_start */
+  0,                                   /* todo_flags_start */
   TODO_verify_rtl_sharing,             /* todo_flags_finish */
  }
 };
@@ -3082,7 +3082,7 @@ struct rtl_opt_pass pass_jump2 =
   0,                                   /* properties_required */
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
-  TODO_ggc_collect,                    /* todo_flags_start */
+  0,                                   /* todo_flags_start */
   TODO_verify_rtl_sharing,             /* todo_flags_finish */
  }
 };
index 771b019..a651d8c 100644 (file)
@@ -4864,6 +4864,6 @@ struct rtl_opt_pass pass_expand =
   PROP_ssa | PROP_trees,               /* properties_destroyed */
   TODO_verify_ssa | TODO_verify_flow
     | TODO_verify_stmts,               /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };
index 0a4d8a5..7392b92 100644 (file)
@@ -659,7 +659,6 @@ struct rtl_opt_pass pass_stack_adjustments =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index 667b7b4..6d58b19 100644 (file)
@@ -13818,7 +13818,6 @@ struct rtl_opt_pass pass_combine =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect,                     /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index 81b0c2d..367cd8e 100644 (file)
@@ -669,7 +669,6 @@ struct rtl_opt_pass pass_compare_elim_after_reload =
   0,                                   /* todo_flags_start */
   TODO_df_finish
   | TODO_df_verify
-  | TODO_verify_rtl_sharing
-  | TODO_ggc_collect                   /* todo_flags_finish */
+  | TODO_verify_rtl_sharing            /* todo_flags_finish */
  }
 };
index 9f5a24f..21ebd0f 100644 (file)
@@ -3930,7 +3930,7 @@ static void
 ix86_option_override (void)
 {
   static struct register_pass_info insert_vzeroupper_info
-    = { &pass_insert_vzeroupper.pass, "reload",
+    = { &pass_insert_vzeroupper.pass, "ira",
        1, PASS_POS_INSERT_AFTER
       };
 
index 855a1d2..6a6b5f1 100644 (file)
@@ -1930,6 +1930,6 @@ struct rtl_opt_pass pass_rtl_cprop =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_verify_flow | TODO_ggc_collect   /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
index b200fef..f2c8f63 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7466,8 +7466,7 @@ struct rtl_opt_pass pass_cse =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect |
-  TODO_verify_flow,                     /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
 
@@ -7529,7 +7528,6 @@ struct rtl_opt_pass pass_cse2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect |
   TODO_verify_flow                      /* todo_flags_finish */
  }
 };
@@ -7590,7 +7588,6 @@ struct rtl_opt_pass pass_cse_after_global_opts =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect |
   TODO_verify_flow                      /* todo_flags_finish */
  }
 };
index b7ecc30..64ed81e 100644 (file)
--- a/gcc/dce.c
+++ b/gcc/dce.c
@@ -802,8 +802,7 @@ struct rtl_opt_pass pass_ud_rtl_dce =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                     /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
 
@@ -1218,7 +1217,6 @@ struct rtl_opt_pass pass_fast_rtl_dce =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index 629d238..d643cb0 100644 (file)
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -3745,8 +3745,7 @@ struct rtl_opt_pass pass_rtl_dse1 =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
 
@@ -3766,7 +3765,6 @@ struct rtl_opt_pass pass_rtl_dse2 =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index 714137c..f6974f4 100644 (file)
@@ -811,8 +811,7 @@ struct rtl_opt_pass pass_compute_alignments =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_verify_rtl_sharing
-  | TODO_ggc_collect                    /* todo_flags_finish */
+  TODO_verify_rtl_sharing               /* todo_flags_finish */
  }
 };
 
@@ -4396,7 +4395,7 @@ struct rtl_opt_pass pass_final =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect                      /* todo_flags_finish */
+  0                                     /* todo_flags_finish */
  }
 };
 
index 7e55c94..36c874f 100644 (file)
@@ -6999,9 +6999,8 @@ struct rtl_opt_pass pass_thread_prologue_and_epilogue =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   TODO_verify_flow,                     /* todo_flags_start */
-  TODO_df_verify |
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_verify | TODO_df_finish
+  | TODO_verify_rtl_sharing             /* todo_flags_finish */
  }
 };
 \f
index f421a3a..e1daf18 100644 (file)
@@ -4148,7 +4148,7 @@ struct rtl_opt_pass pass_rtl_pre =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_verify_flow | TODO_ggc_collect   /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
 
@@ -4169,7 +4169,7 @@ struct rtl_opt_pass pass_rtl_hoist =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_verify_flow | TODO_ggc_collect   /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
 
index faea882..f1309cf 100644 (file)
@@ -4514,8 +4514,7 @@ struct rtl_opt_pass pass_if_after_combine =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
 
@@ -4551,7 +4550,6 @@ struct rtl_opt_pass pass_if_after_reload =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index 0ca25d2..27aed3c 100644 (file)
@@ -3660,7 +3660,7 @@ struct ipa_opt_pass_d pass_ipa_cp =
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
   TODO_dump_symtab |
-  TODO_remove_functions | TODO_ggc_collect /* todo_flags_finish */
+  TODO_remove_functions         /* todo_flags_finish */
  },
  ipcp_generate_summary,                        /* generate_summary */
  ipcp_write_summary,                   /* write_summary */
index 171d6a2..964d1f9 100644 (file)
@@ -2123,7 +2123,7 @@ struct ipa_opt_pass_d pass_ipa_inline =
   0,                                   /* properties_destroyed */
   TODO_remove_functions,               /* todo_flags_finish */
   TODO_dump_symtab 
-  | TODO_remove_functions | TODO_ggc_collect   /* todo_flags_finish */
+  | TODO_remove_functions              /* todo_flags_finish */
  },
  inline_generate_summary,              /* generate_summary */
  inline_write_summary,                 /* write_summary */
index f53d9db..cb7b6b5 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -914,8 +914,7 @@ struct simple_ipa_opt_pass pass_ipa_function_and_variable_visibility =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_remove_functions | TODO_dump_symtab
-  | TODO_ggc_collect                   /* todo_flags_finish */
+  TODO_remove_functions | TODO_dump_symtab /* todo_flags_finish */
  }
 };
 
@@ -944,7 +943,7 @@ struct simple_ipa_opt_pass pass_ipa_free_inline_summary =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };
 
@@ -983,8 +982,7 @@ struct ipa_opt_pass_d pass_ipa_whole_program_visibility =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_remove_functions | TODO_dump_symtab
-  | TODO_ggc_collect                   /* todo_flags_finish */
+  TODO_remove_functions | TODO_dump_symtab /* todo_flags_finish */
  },
  NULL,                                 /* generate_summary */
  NULL,                                 /* write_summary */
index 03b3368..edfc974 100644 (file)
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -4359,6 +4359,8 @@ ira (FILE *f)
   int rebuild_p;
   bool saved_flag_caller_saves = flag_caller_saves;
   enum ira_region saved_flag_ira_region = flag_ira_region;
+  basic_block bb;
+  bool need_dce;
 
   ira_conflicts_p = optimize > 0;
 
@@ -4588,13 +4590,6 @@ ira (FILE *f)
       flag_caller_saves = saved_flag_caller_saves;
       flag_ira_region = saved_flag_ira_region;
     }
-}
-
-static void
-do_reload (void)
-{
-  basic_block bb;
-  bool need_dce;
 
   if (flag_ira_verbose < 10)
     ira_dump_file = dump_file;
@@ -4634,8 +4629,6 @@ do_reload (void)
 
   timevar_pop (TV_RELOAD);
 
-  timevar_push (TV_IRA);
-
   if (ira_conflicts_p && ! ira_use_lra_p)
     {
       ira_free (ira_spilled_reg_stack_slots);
@@ -4693,8 +4686,6 @@ do_reload (void)
 
   if (need_dce && optimize)
     run_fast_dce ();
-
-  timevar_pop (TV_IRA);
 }
 \f
 /* Run the integrated register allocator.  */
@@ -4721,33 +4712,6 @@ struct rtl_opt_pass pass_ira =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  0,                                    /* todo_flags_finish */
- }
-};
-
-static unsigned int
-rest_of_handle_reload (void)
-{
-  do_reload ();
-  return 0;
-}
-
-struct rtl_opt_pass pass_reload =
-{
- {
-  RTL_PASS,
-  "reload",                             /* name */
-  OPTGROUP_NONE,                        /* optinfo_flags */
-  NULL,                                 /* gate */
-  rest_of_handle_reload,               /* execute */
-  NULL,                                 /* sub */
-  NULL,                                 /* next */
-  0,                                    /* static_pass_number */
-  TV_RELOAD,                           /* tv_id */
-  0,                                    /* properties_required */
-  0,                                    /* properties_provided */
-  0,                                    /* properties_destroyed */
-  0,                                    /* todo_flags_start */
-  TODO_ggc_collect                      /* todo_flags_finish */
+  0                                     /* todo_flags_finish */
  }
 };
index f754938..92d621e 100644 (file)
@@ -318,7 +318,7 @@ struct rtl_opt_pass pass_loop2 =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect                      /* todo_flags_finish */
+  0                                     /* todo_flags_finish */
  }
 };
 
index 05927e1..5b5b03f 100644 (file)
@@ -1699,7 +1699,6 @@ struct rtl_opt_pass pass_lower_subreg =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect |
   TODO_verify_flow                      /* todo_flags_finish */
  }
 };
@@ -1721,7 +1720,6 @@ struct rtl_opt_pass pass_lower_subreg2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect |
   TODO_verify_flow                      /* todo_flags_finish */
  }
 };
index 1273b2b..6ce79a9 100644 (file)
@@ -3369,7 +3369,6 @@ struct rtl_opt_pass pass_sms =
   0,                                    /* todo_flags_start */
   TODO_df_finish
     | TODO_verify_flow
-    | TODO_verify_rtl_sharing
-    | TODO_ggc_collect                  /* todo_flags_finish */
+    | TODO_verify_rtl_sharing           /* todo_flags_finish */
  }
 };
index a47e092..c9911b9 100644 (file)
@@ -406,7 +406,7 @@ static struct rtl_opt_pass pass_rest_of_compilation =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect                      /* todo_flags_finish */
+  0                                     /* todo_flags_finish */
  }
 };
 
@@ -432,7 +432,7 @@ static struct rtl_opt_pass pass_postreload =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_rtl_sharing /* todo_flags_finish */
+  TODO_verify_rtl_sharing               /* todo_flags_finish */
  }
 };
 
@@ -1620,7 +1620,6 @@ init_optimization_passes (void)
       NEXT_PASS (pass_sms);
       NEXT_PASS (pass_sched);
       NEXT_PASS (pass_ira);
-      NEXT_PASS (pass_reload);
       NEXT_PASS (pass_postreload);
        {
          struct opt_pass **p = &pass_postreload.pass.sub;
@@ -2014,9 +2013,6 @@ execute_todo (unsigned int flags)
       fflush (dump_file);
     }
 
-  if (flags & TODO_ggc_collect)
-    ggc_collect ();
-
   /* Now that the dumping has been done, we can get rid of the optional
      df problems.  */
   if (flags & TODO_df_finish)
@@ -2188,6 +2184,9 @@ execute_one_ipa_transform_pass (struct cgraph_node *node,
   pass_fini_dump_file (pass);
 
   current_pass = NULL;
+
+  /* Signal this is a suitable GC collection point.  */
+  ggc_collect ();
 }
 
 /* For the current function, execute all ipa transforms. */
@@ -2365,6 +2364,9 @@ execute_one_pass (struct opt_pass *pass)
 
   current_pass = NULL;
 
+  /* Signal this is a suitable GC collection point.  */
+  ggc_collect ();
+
   return true;
 }
 
index 1b94b5c..b9befe0 100644 (file)
@@ -1339,6 +1339,6 @@ struct rtl_opt_pass pass_gcse2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_verify_rtl_sharing
-  | TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
+  | TODO_verify_flow                    /* todo_flags_finish */
  }
 };
index 1871976..91f66a8 100644 (file)
@@ -2916,7 +2916,7 @@ struct gimple_opt_pass pass_profile =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_ssa                   /* todo_flags_finish */
+  TODO_verify_ssa                      /* todo_flags_finish */
  }
 };
 
@@ -2936,7 +2936,7 @@ struct gimple_opt_pass pass_strip_predict_hints =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_ssa                   /* todo_flags_finish */
+  TODO_verify_ssa                      /* todo_flags_finish */
  }
 };
 
index c609212..c0d43c8 100644 (file)
--- a/gcc/ree.c
+++ b/gcc/ree.c
@@ -957,7 +957,6 @@ struct rtl_opt_pass pass_ree =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish
-    | TODO_ggc_collect
     | TODO_verify_rtl_sharing,          /* todo_flags_finish */
  }
 };
index d6a39e1..2812787 100644 (file)
@@ -3344,7 +3344,6 @@ struct rtl_opt_pass pass_stack_regs_run =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index 3d25fe0..1ce8a7e 100644 (file)
@@ -1377,7 +1377,6 @@ struct rtl_opt_pass pass_regmove =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
  }
 };
index f895982..d37d1b6 100644 (file)
@@ -3886,7 +3886,7 @@ struct rtl_opt_pass pass_delay_slots =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect                      /* todo_flags_finish */
+  0                                     /* todo_flags_finish */
  }
 };
 
@@ -3921,6 +3921,6 @@ struct rtl_opt_pass pass_machine_reorg =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect                      /* todo_flags_finish */
+  0                                     /* todo_flags_finish */
  }
 };
index 02a6705..6eb00e9 100644 (file)
@@ -3630,8 +3630,7 @@ struct rtl_opt_pass pass_sched =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_verify_flow |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
 
@@ -3652,7 +3651,6 @@ struct rtl_opt_pass pass_sched2 =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_verify_flow |
-  TODO_ggc_collect                      /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
index 2e57d32..6fc072c 100644 (file)
@@ -1249,6 +1249,6 @@ struct rtl_opt_pass pass_rtl_store_motion =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_df_finish | TODO_verify_rtl_sharing |
-  TODO_verify_flow | TODO_ggc_collect   /* todo_flags_finish */
+  TODO_verify_flow                      /* todo_flags_finish */
  }
 };
index debc2ab..8bc42b4 100644 (file)
@@ -1,5 +1,9 @@
 2013-04-10  Richard Biener  <rguenther@suse.de>
 
+       * g++.dg/pr55604.C: Use -fdump-rtl-ira.
+
+2013-04-10  Richard Biener  <rguenther@suse.de>
+
        * gcc.dg/vect/slp-39.c: New testcase.
 
 2013-04-10  Joern Rennecke <joern.rennecke@embecosm.com>
index 135ae4d..b2e7af0 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O -fdump-rtl-reload" } */
+/* { dg-options "-O -fdump-rtl-ira" } */
 
 main ()
 {
@@ -8,4 +8,4 @@ main ()
   __builtin_printf ("%d %s\n", t, s);
 }
 
-/* { dg-final { cleanup-rtl-dump "reload" } } */
+/* { dg-final { cleanup-rtl-dump "ira" } } */
index 064d994..b355a86 100644 (file)
@@ -992,7 +992,6 @@ struct gimple_opt_pass pass_merge_phi =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect             /* todo_flags_finish */
-  | TODO_verify_ssa
+  TODO_verify_ssa               /* todo_flags_finish */
  }
 };
index f8dbe0a..760083b 100644 (file)
@@ -1648,9 +1648,8 @@ struct gimple_opt_pass pass_lower_complex =
   PROP_gimple_lcx,                     /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-    TODO_ggc_collect
-    | TODO_update_ssa
-    | TODO_verify_stmts                        /* todo_flags_finish */
+  TODO_update_ssa
+  | TODO_verify_stmts                  /* todo_flags_finish */
  }
 };
 
@@ -1679,8 +1678,7 @@ struct gimple_opt_pass pass_lower_complex_O0 =
   PROP_gimple_lcx,                     /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect
-    | TODO_update_ssa
-    | TODO_verify_stmts                        /* todo_flags_finish */
+  TODO_update_ssa
+  | TODO_verify_stmts                  /* todo_flags_finish */
  }
 };
index d7d7360..fc75b31 100644 (file)
@@ -798,7 +798,7 @@ ipa_lower_emutls (void)
   access_vars.release ();
   free_varpool_node_set (tls_vars);
 
-  return TODO_ggc_collect | TODO_verify_all;
+  return TODO_verify_all;
 }
 
 /* If the target supports TLS natively, we need do nothing here.  */
index 668ceec..5c2c7db 100644 (file)
@@ -1605,7 +1605,6 @@ struct gimple_opt_pass pass_loop_distribution =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect
-  | TODO_verify_ssa             /* todo_flags_finish */
+  TODO_verify_ssa               /* todo_flags_finish */
  }
 };
index 58e7e80..51bc7cd 100644 (file)
@@ -285,7 +285,7 @@ struct gimple_opt_pass pass_nrv =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };
 
index 0942ad7..a6bb4fa 100644 (file)
@@ -154,7 +154,6 @@ struct simple_ipa_opt_pass
   (PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_gimple_lomp)
 
 /* To-do flags.  */
-#define TODO_ggc_collect               (1 << 1)
 #define TODO_verify_ssa                        (1 << 2)
 #define TODO_verify_flow               (1 << 3)
 #define TODO_verify_stmts              (1 << 4)
@@ -446,7 +445,6 @@ extern struct rtl_opt_pass pass_mode_switching;
 extern struct rtl_opt_pass pass_sms;
 extern struct rtl_opt_pass pass_sched;
 extern struct rtl_opt_pass pass_ira;
-extern struct rtl_opt_pass pass_reload;
 extern struct rtl_opt_pass pass_clean_state;
 extern struct rtl_opt_pass pass_branch_prob;
 extern struct rtl_opt_pass pass_value_profile_transformations;
index 78efa25..a148a60 100644 (file)
@@ -3450,7 +3450,6 @@ struct gimple_opt_pass pass_sra_early =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_update_ssa
-  | TODO_ggc_collect
   | TODO_verify_ssa                    /* todo_flags_finish */
  }
 };
@@ -3472,7 +3471,6 @@ struct gimple_opt_pass pass_sra =
   0,                                   /* properties_destroyed */
   TODO_update_address_taken,           /* todo_flags_start */
   TODO_update_ssa
-  | TODO_ggc_collect
   | TODO_verify_ssa                    /* todo_flags_finish */
  }
 };
index f298b27..1bc4c2f 100644 (file)
@@ -2139,7 +2139,7 @@ struct gimple_opt_pass pass_ccp =
   0,                                   /* todo_flags_start */
   TODO_verify_ssa
   | TODO_update_address_taken
-  | TODO_verify_stmts | TODO_ggc_collect/* todo_flags_finish */
+  | TODO_verify_stmts                  /* todo_flags_finish */
  }
 };
 
index 1514745..d16756c 100644 (file)
@@ -844,7 +844,6 @@ struct gimple_opt_pass pass_copy_prop =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_cleanup_cfg
-    | TODO_ggc_collect
     | TODO_verify_ssa
     | TODO_update_ssa                  /* todo_flags_finish */
  }
index d98a646..d650d95 100644 (file)
@@ -3076,7 +3076,6 @@ struct gimple_opt_pass pass_phi_only_cprop =
   0,                                   /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_cleanup_cfg
-    | TODO_ggc_collect
     | TODO_verify_ssa
     | TODO_verify_stmts
     | TODO_update_ssa                  /* todo_flags_finish */
index e0c3b74..ad99ea9 100644 (file)
@@ -375,7 +375,6 @@ struct gimple_opt_pass pass_dse =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect
-    | TODO_verify_ssa          /* todo_flags_finish */
+  TODO_verify_ssa              /* todo_flags_finish */
  }
 };
index 26b0761..ac930c6 100644 (file)
@@ -3152,8 +3152,7 @@ struct gimple_opt_pass pass_forwprop =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect
-  | TODO_update_ssa
+  TODO_update_ssa
   | TODO_verify_ssa            /* todo_flags_finish */
  }
 };
index cc06ca1..9598eb8 100644 (file)
@@ -664,8 +664,7 @@ struct gimple_opt_pass pass_tree_ifcombine =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect
-  | TODO_update_ssa
+  TODO_update_ssa
   | TODO_verify_ssa            /* todo_flags_finish */
  }
 };
index fdfb9e7..fef6883 100644 (file)
@@ -56,8 +56,8 @@ struct gimple_opt_pass pass_tree_loop =
   PROP_cfg,                            /* properties_required */
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
-  TODO_ggc_collect,                    /* todo_flags_start */
-  TODO_verify_ssa | TODO_ggc_collect   /* todo_flags_finish */
+  0,                                   /* todo_flags_start */
+  TODO_verify_ssa                      /* todo_flags_finish */
  }
 };
 
@@ -170,7 +170,7 @@ struct gimple_opt_pass pass_tree_unswitch =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };
 
@@ -245,7 +245,7 @@ struct gimple_opt_pass pass_vectorize =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };
 
@@ -491,7 +491,7 @@ struct gimple_opt_pass pass_complete_unroll =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };
 
@@ -538,8 +538,7 @@ struct gimple_opt_pass pass_complete_unrolli =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_verify_flow
-    | TODO_ggc_collect                         /* todo_flags_finish */
+  TODO_verify_flow                     /* todo_flags_finish */
  }
 };
 
@@ -653,7 +652,7 @@ struct gimple_opt_pass pass_iv_optimize =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_update_ssa | TODO_ggc_collect   /* todo_flags_finish */
+  TODO_update_ssa                      /* todo_flags_finish */
  }
 };
 
index 300016f..91df107 100644 (file)
@@ -2013,8 +2013,7 @@ struct gimple_opt_pass pass_phiopt =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect
-    | TODO_verify_ssa
+  TODO_verify_ssa
     | TODO_verify_flow
     | TODO_verify_stmts                        /* todo_flags_finish */
  }
@@ -2042,8 +2041,7 @@ struct gimple_opt_pass pass_cselim =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect
-    | TODO_verify_ssa
+  TODO_verify_ssa
     | TODO_verify_flow
     | TODO_verify_stmts                        /* todo_flags_finish */
  }
index 4da1814..6555ae3 100644 (file)
@@ -420,8 +420,7 @@ struct gimple_opt_pass pass_phiprop =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect
-  | TODO_update_ssa
+  TODO_update_ssa
   | TODO_verify_ssa            /* todo_flags_finish */
  }
 };
index 10c8091..798409a 100644 (file)
@@ -4788,7 +4788,7 @@ struct gimple_opt_pass pass_pre =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   TODO_rebuild_alias,                  /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_ssa   /* todo_flags_finish */
+  TODO_verify_ssa                      /* todo_flags_finish */
  }
 };
 
@@ -4840,6 +4840,6 @@ struct gimple_opt_pass pass_fre =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
+  TODO_verify_ssa                      /* todo_flags_finish */
  }
 };
index 27161cd..534c51c 100644 (file)
@@ -4293,7 +4293,6 @@ struct gimple_opt_pass pass_reassoc =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_verify_ssa
-    | TODO_verify_flow
-    | TODO_ggc_collect                 /* todo_flags_finish */
+    | TODO_verify_flow                 /* todo_flags_finish */
  }
 };
index 48dae0b..0d9029b 100644 (file)
@@ -597,7 +597,6 @@ struct gimple_opt_pass pass_sink_code =
   0,                                   /* todo_flags_start */
   TODO_update_ssa
     | TODO_verify_ssa
-    | TODO_verify_flow
-    | TODO_ggc_collect                 /* todo_flags_finish */
+    | TODO_verify_flow                 /* todo_flags_finish */
  }
 };
index c832461..9c724dc 100644 (file)
@@ -2020,7 +2020,6 @@ struct gimple_opt_pass pass_strlen =
   0,                           /* properties_provided */
   0,                           /* properties_destroyed */
   0,                           /* todo_flags_start */
-  TODO_ggc_collect
-    | TODO_verify_ssa          /* todo_flags_finish */
+  TODO_verify_ssa              /* todo_flags_finish */
  }
 };
index b7d4b24..3fffdf7 100644 (file)
@@ -1477,7 +1477,7 @@ struct gimple_opt_pass pass_convert_switch =
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
   TODO_update_ssa 
-  | TODO_ggc_collect | TODO_verify_ssa
+  | TODO_verify_ssa
   | TODO_verify_stmts
   | TODO_verify_flow                   /* todo_flags_finish */
  }
index 9d46199..0227d08 100644 (file)
@@ -214,8 +214,7 @@ struct gimple_opt_pass pass_slp_vectorize =
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
-  TODO_ggc_collect
-    | TODO_verify_ssa
+  TODO_verify_ssa
     | TODO_update_ssa
     | TODO_verify_stmts                 /* todo_flags_finish */
  }
index e1b88a9..be1a380 100644 (file)
@@ -9408,7 +9408,6 @@ struct gimple_opt_pass pass_vrp =
   TODO_cleanup_cfg
     | TODO_update_ssa
     | TODO_verify_ssa
-    | TODO_verify_flow
-    | TODO_ggc_collect                 /* todo_flags_finish */
+    | TODO_verify_flow                 /* todo_flags_finish */
  }
 };
index 078caae..ba3dcdd 100644 (file)
@@ -5299,7 +5299,7 @@ struct simple_ipa_opt_pass pass_ipa_free_lang_data =
   0,                                   /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_ggc_collect                     /* todo_flags_finish */
+  0                                    /* todo_flags_finish */
  }
 };