This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 21 Mar 2013 10:07:00 +0100 (CET)
- Subject: Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally
- References: <alpine dot LNX dot 2 dot 00 dot 1303191327310 dot 3543 at zhemvz dot fhfr dot qr> <alpine dot LNX dot 2 dot 00 dot 1303191518000 dot 3543 at zhemvz dot fhfr dot qr> <alpine dot LNX dot 2 dot 00 dot 1303191634460 dot 3543 at zhemvz dot fhfr dot qr>
On Tue, 19 Mar 2013, Richard Biener wrote:
> On Tue, 19 Mar 2013, Richard Biener wrote:
>
> > On Tue, 19 Mar 2013, Richard Biener wrote:
> >
> > >
> > > This adds a GC collection point after each pass instead just after
> > > those with TODO_ggc_collect in their todo. The patch will possibly
> > > slow-down gcac checking a bit (80 passes have TODO_ggc_collect,
> > > I didn't try to enumerate those that do not, but a grep shows we
> > > may have up to 212 passes. OTOH gcac checking will now "properly"
> > > verify that all pass boundaries are suitable for collection.
> > >
> > > A complete patch will remove TODO_ggc_collect and all its uses
> > > as well.
> > >
> > > The patch should result in lower peak memory consumption for
> > > some of the odd testcases that we worked on.
> > >
> > > Bootstrap & regtest scheduled on x86_64-unknown-linux-gnu.
> >
> > Which shows that I need to merge the IRA and reload/lra passes.
> > Honza tells me that they are considered "separate" has historical
> > reasons only. Given that reload pushes TV_IRA and that the boundary
> > isn't GC safe I don't think that is too bad (dump files will now
> > be shared, of course).
> >
> > I'll schedule a gcac checking bootstrap over night as well.
>
> The following is it, changelog omits the boring part (enumerating
> all files and pass structs touched ...).
>
> Regularly bootstrapped and tested on x86_64-unknown-linux-gnu,
> the gcac one is still running (as expected ...).
>
> Any objections?
One testcase, g++.dg/pr55604.C, needs adjustment (it uses
-fdump-rtl-reload which is gone after the patch).
I let a gcac bootstrap run into stage3 (and then killed it after
3 days ...). I also built a gcac compiler without bootstrapping
and ran the testsuite. Unfortunately that results in lot of
timeouts and weird errors. I have reported PR56673 for a GC issue
unrelated to this patch (multi-versioning is broken). Weird errors
include -frepo linking errors.
Any hints on how to globally disable the dejagnu timeout so I can
eventually get a clean gcac testsuite run without the patch to
compare against (I doubt -frepo errors can be related to this patch).
Thanks,
Richard.
> 2013-03-19 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.
>
> Index: trunk/gcc/passes.c
> ===================================================================
> *** trunk.orig/gcc/passes.c 2013-03-19 12:25:46.000000000 +0100
> --- trunk/gcc/passes.c 2013-03-19 15:07:06.015047490 +0100
> *************** static struct rtl_opt_pass pass_rest_of_
> *** 406,412 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 406,412 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> *************** static struct rtl_opt_pass pass_postrelo
> *** 432,438 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> --- 432,438 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> *************** init_optimization_passes (void)
> *** 1620,1626 ****
> 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;
> --- 1620,1625 ----
> *************** execute_todo (unsigned int flags)
> *** 2016,2024 ****
> 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)
> --- 2015,2020 ----
> *************** execute_one_ipa_transform_pass (struct c
> *** 2190,2195 ****
> --- 2186,2194 ----
> 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. */
> *************** execute_one_pass (struct opt_pass *pass)
> *** 2367,2372 ****
> --- 2366,2374 ----
>
> current_pass = NULL;
>
> + /* Signal this is a suitable GC collection point. */
> + ggc_collect ();
> +
> return true;
> }
>
> Index: trunk/gcc/bt-load.c
> ===================================================================
> *** trunk.orig/gcc/bt-load.c 2013-01-11 10:54:52.000000000 +0100
> --- trunk/gcc/bt-load.c 2013-03-19 14:49:29.666365217 +0100
> *************** struct rtl_opt_pass pass_branch_target_l
> *** 1520,1527 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_rtl_sharing |
> ! TODO_ggc_collect, /* todo_flags_finish */
> }
> };
>
> --- 1520,1526 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_rtl_sharing, /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_branch_target_l
> *** 1570,1575 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect, /* todo_flags_finish */
> }
> };
> --- 1569,1574 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0, /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/cfgcleanup.c
> ===================================================================
> *** trunk.orig/gcc/cfgcleanup.c 2013-01-31 11:06:09.000000000 +0100
> --- trunk/gcc/cfgcleanup.c 2013-03-19 14:49:46.809555946 +0100
> *************** struct rtl_opt_pass pass_jump =
> *** 3057,3063 ****
> 0, /* properties_required */
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> ! TODO_ggc_collect, /* todo_flags_start */
> TODO_verify_rtl_sharing, /* todo_flags_finish */
> }
> };
> --- 3057,3063 ----
> 0, /* properties_required */
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> ! 0, /* todo_flags_start */
> TODO_verify_rtl_sharing, /* todo_flags_finish */
> }
> };
> *************** struct rtl_opt_pass pass_jump2 =
> *** 3084,3090 ****
> 0, /* properties_required */
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> ! TODO_ggc_collect, /* todo_flags_start */
> TODO_verify_rtl_sharing, /* todo_flags_finish */
> }
> };
> --- 3084,3090 ----
> 0, /* properties_required */
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> ! 0, /* todo_flags_start */
> TODO_verify_rtl_sharing, /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/cfgexpand.c
> ===================================================================
> *** trunk.orig/gcc/cfgexpand.c 2013-03-18 12:31:42.000000000 +0100
> --- trunk/gcc/cfgexpand.c 2013-03-19 14:49:59.956702233 +0100
> *************** struct rtl_opt_pass pass_expand =
> *** 4863,4868 ****
> PROP_ssa | PROP_trees, /* properties_destroyed */
> TODO_verify_ssa | TODO_verify_flow
> | TODO_verify_stmts, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 4863,4868 ----
> PROP_ssa | PROP_trees, /* properties_destroyed */
> TODO_verify_ssa | TODO_verify_flow
> | TODO_verify_stmts, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/combine-stack-adj.c
> ===================================================================
> *** trunk.orig/gcc/combine-stack-adj.c 2013-01-11 10:55:26.000000000 +0100
> --- trunk/gcc/combine-stack-adj.c 2013-03-19 14:50:33.851079297 +0100
> *************** struct rtl_opt_pass pass_stack_adjustmen
> *** 659,665 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect, /* todo_flags_finish */
> }
> };
> --- 659,664 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/combine.c
> ===================================================================
> *** trunk.orig/gcc/combine.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/combine.c 2013-03-19 14:51:01.178383334 +0100
> *************** struct rtl_opt_pass pass_combine =
> *** 13823,13829 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect, /* todo_flags_finish */
> }
> };
> --- 13823,13828 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/compare-elim.c
> ===================================================================
> *** trunk.orig/gcc/compare-elim.c 2013-01-11 10:54:42.000000000 +0100
> --- trunk/gcc/compare-elim.c 2013-03-19 14:51:09.767478849 +0100
> *************** struct rtl_opt_pass pass_compare_elim_af
> *** 669,675 ****
> 0, /* todo_flags_start */
> TODO_df_finish
> | TODO_df_verify
> ! | TODO_verify_rtl_sharing
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 669,674 ----
> 0, /* todo_flags_start */
> TODO_df_finish
> | TODO_df_verify
> ! | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/cprop.c
> ===================================================================
> *** trunk.orig/gcc/cprop.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/cprop.c 2013-03-19 14:51:18.068571228 +0100
> *************** struct rtl_opt_pass pass_rtl_cprop =
> *** 1930,1935 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 1930,1935 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/cse.c
> ===================================================================
> *** trunk.orig/gcc/cse.c 2013-02-07 10:14:45.000000000 +0100
> --- trunk/gcc/cse.c 2013-03-19 14:51:33.389741719 +0100
> *************** struct rtl_opt_pass pass_cse =
> *** 7466,7473 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect |
> ! TODO_verify_flow, /* todo_flags_finish */
> }
> };
>
> --- 7466,7472 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_cse2 =
> *** 7529,7535 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> - TODO_ggc_collect |
> TODO_verify_flow /* todo_flags_finish */
> }
> };
> --- 7528,7533 ----
> *************** struct rtl_opt_pass pass_cse_after_globa
> *** 7590,7596 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> - TODO_ggc_collect |
> TODO_verify_flow /* todo_flags_finish */
> }
> };
> --- 7588,7593 ----
> Index: trunk/gcc/dce.c
> ===================================================================
> *** trunk.orig/gcc/dce.c 2013-01-11 10:55:26.000000000 +0100
> --- trunk/gcc/dce.c 2013-03-19 14:51:45.045871389 +0100
> *************** struct rtl_opt_pass pass_ud_rtl_dce =
> *** 802,809 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 802,808 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_fast_rtl_dce =
> *** 1218,1224 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 1217,1222 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/dse.c
> ===================================================================
> *** trunk.orig/gcc/dse.c 2013-03-11 11:00:38.000000000 +0100
> --- trunk/gcc/dse.c 2013-03-19 14:51:53.264962797 +0100
> *************** struct rtl_opt_pass pass_rtl_dse1 =
> *** 3935,3942 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 3935,3941 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_rtl_dse2 =
> *** 3956,3962 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 3955,3960 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/final.c
> ===================================================================
> *** trunk.orig/gcc/final.c 2013-02-04 11:18:45.000000000 +0100
> --- trunk/gcc/final.c 2013-03-19 14:52:09.083138974 +0100
> *************** struct rtl_opt_pass pass_compute_alignme
> *** 821,828 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_rtl_sharing
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 821,827 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_final =
> *** 4405,4411 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 4404,4410 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/function.c
> ===================================================================
> *** trunk.orig/gcc/function.c 2013-03-11 11:00:39.000000000 +0100
> --- trunk/gcc/function.c 2013-03-19 14:52:27.275341219 +0100
> *************** struct rtl_opt_pass pass_thread_prologue
> *** 6995,7003 ****
> 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 */
> }
> };
>
> --- 6995,7002 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> TODO_verify_flow, /* todo_flags_start */
> ! TODO_df_verify | TODO_df_finish
> ! | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/gcse.c
> ===================================================================
> *** trunk.orig/gcc/gcse.c 2013-01-11 10:54:52.000000000 +0100
> --- trunk/gcc/gcse.c 2013-03-19 14:52:38.648467764 +0100
> *************** struct rtl_opt_pass pass_rtl_pre =
> *** 4154,4160 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 4154,4160 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_rtl_hoist =
> *** 4175,4181 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 4175,4181 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/ifcvt.c
> ===================================================================
> *** trunk.orig/gcc/ifcvt.c 2013-03-06 09:46:38.000000000 +0100
> --- trunk/gcc/ifcvt.c 2013-03-19 14:52:48.857581358 +0100
> *************** struct rtl_opt_pass pass_if_after_combin
> *** 4514,4521 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 4514,4520 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_if_after_reload
> *** 4551,4557 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 4550,4555 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/ipa-cp.c
> ===================================================================
> *** trunk.orig/gcc/ipa-cp.c 2013-03-01 12:05:02.000000000 +0100
> --- trunk/gcc/ipa-cp.c 2013-03-19 14:52:54.478643890 +0100
> *************** struct ipa_opt_pass_d pass_ipa_cp =
> *** 3632,3638 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_dump_symtab |
> ! TODO_remove_functions | TODO_ggc_collect /* todo_flags_finish */
> },
> ipcp_generate_summary, /* generate_summary */
> ipcp_write_summary, /* write_summary */
> --- 3632,3638 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_dump_symtab |
> ! TODO_remove_functions /* todo_flags_finish */
> },
> ipcp_generate_summary, /* generate_summary */
> ipcp_write_summary, /* write_summary */
> Index: trunk/gcc/ipa-inline.c
> ===================================================================
> *** trunk.orig/gcc/ipa-inline.c 2013-03-08 12:56:05.000000000 +0100
> --- trunk/gcc/ipa-inline.c 2013-03-19 14:53:06.384776340 +0100
> *************** struct gimple_opt_pass pass_early_inline
> *** 2091,2097 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 2091,2097 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> *************** struct ipa_opt_pass_d pass_ipa_inline =
> *** 2125,2131 ****
> 0, /* properties_destroyed */
> TODO_remove_functions, /* todo_flags_finish */
> TODO_dump_symtab
> ! | TODO_remove_functions | TODO_ggc_collect /* todo_flags_finish */
> },
> inline_generate_summary, /* generate_summary */
> inline_write_summary, /* write_summary */
> --- 2125,2131 ----
> 0, /* properties_destroyed */
> TODO_remove_functions, /* todo_flags_finish */
> TODO_dump_symtab
> ! | TODO_remove_functions /* todo_flags_finish */
> },
> inline_generate_summary, /* generate_summary */
> inline_write_summary, /* write_summary */
> Index: trunk/gcc/ipa.c
> ===================================================================
> *** trunk.orig/gcc/ipa.c 2013-01-17 13:38:08.000000000 +0100
> --- trunk/gcc/ipa.c 2013-03-19 14:53:23.951971808 +0100
> *************** struct simple_ipa_opt_pass pass_ipa_func
> *** 957,964 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_remove_functions | TODO_dump_symtab
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 957,963 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_remove_functions | TODO_dump_symtab /* todo_flags_finish */
> }
> };
>
> *************** struct simple_ipa_opt_pass pass_ipa_free
> *** 987,993 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 986,992 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> *************** struct ipa_opt_pass_d pass_ipa_whole_pro
> *** 1026,1033 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_remove_functions | TODO_dump_symtab
> ! | TODO_ggc_collect /* todo_flags_finish */
> },
> NULL, /* generate_summary */
> NULL, /* write_summary */
> --- 1025,1031 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_remove_functions | TODO_dump_symtab /* todo_flags_finish */
> },
> NULL, /* generate_summary */
> NULL, /* write_summary */
> Index: trunk/gcc/ira.c
> ===================================================================
> *** trunk.orig/gcc/ira.c 2013-02-14 15:51:57.000000000 +0100
> --- trunk/gcc/ira.c 2013-03-19 15:13:11.932087373 +0100
> *************** ira (FILE *f)
> *** 4359,4364 ****
> --- 4359,4366 ----
> 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;
>
> *************** ira (FILE *f)
> *** 4588,4600 ****
> 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;
> --- 4590,4595 ----
> *************** do_reload (void)
> *** 4634,4641 ****
>
> timevar_pop (TV_RELOAD);
>
> - timevar_push (TV_IRA);
> -
> if (ira_conflicts_p && ! ira_use_lra_p)
> {
> ira_free (ira_spilled_reg_stack_slots);
> --- 4629,4634 ----
> *************** do_reload (void)
> *** 4693,4700 ****
>
> if (need_dce && optimize)
> run_fast_dce ();
> -
> - timevar_pop (TV_IRA);
> }
>
> /* Run the integrated register allocator. */
> --- 4686,4691 ----
> *************** struct rtl_opt_pass pass_ira =
> *** 4721,4753 ****
> 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 */
> }
> };
> --- 4712,4717 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/loop-init.c
> ===================================================================
> *** trunk.orig/gcc/loop-init.c 2013-03-19 13:18:37.000000000 +0100
> --- trunk/gcc/loop-init.c 2013-03-19 16:35:23.655956258 +0100
> *************** struct rtl_opt_pass pass_loop2 =
> *** 318,324 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 318,324 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/lower-subreg.c
> ===================================================================
> *** trunk.orig/gcc/lower-subreg.c 2013-02-25 13:37:17.000000000 +0100
> --- trunk/gcc/lower-subreg.c 2013-03-19 14:53:52.171285783 +0100
> *************** struct rtl_opt_pass pass_lower_subreg =
> *** 1699,1705 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> - TODO_ggc_collect |
> TODO_verify_flow /* todo_flags_finish */
> }
> };
> --- 1699,1704 ----
> *************** struct rtl_opt_pass pass_lower_subreg2 =
> *** 1721,1727 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> - TODO_ggc_collect |
> TODO_verify_flow /* todo_flags_finish */
> }
> };
> --- 1720,1725 ----
> Index: trunk/gcc/modulo-sched.c
> ===================================================================
> *** trunk.orig/gcc/modulo-sched.c 2013-01-11 10:54:42.000000000 +0100
> --- trunk/gcc/modulo-sched.c 2013-03-19 14:54:04.186419474 +0100
> *************** struct rtl_opt_pass pass_sms =
> *** 3369,3375 ****
> 0, /* todo_flags_start */
> TODO_df_finish
> | TODO_verify_flow
> ! | TODO_verify_rtl_sharing
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 3369,3374 ----
> 0, /* todo_flags_start */
> TODO_df_finish
> | TODO_verify_flow
> ! | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/postreload-gcse.c
> ===================================================================
> *** trunk.orig/gcc/postreload-gcse.c 2013-01-11 10:54:28.000000000 +0100
> --- trunk/gcc/postreload-gcse.c 2013-03-19 14:54:26.732670295 +0100
> *************** struct rtl_opt_pass pass_gcse2 =
> *** 1339,1344 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_verify_rtl_sharing
> ! | TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 1339,1344 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_verify_rtl_sharing
> ! | TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/predict.c
> ===================================================================
> *** trunk.orig/gcc/predict.c 2013-03-08 15:48:08.000000000 +0100
> --- trunk/gcc/predict.c 2013-03-19 14:55:02.373064708 +0100
> *************** struct gimple_opt_pass pass_profile =
> *** 2895,2901 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> --- 2895,2901 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_strip_predic
> *** 2915,2921 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> --- 2915,2921 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/ree.c
> ===================================================================
> *** trunk.orig/gcc/ree.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/ree.c 2013-03-19 14:55:09.719145692 +0100
> *************** struct rtl_opt_pass pass_ree =
> *** 958,964 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect |
> ! TODO_verify_rtl_sharing, /* todo_flags_finish */
> }
> };
> --- 958,963 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/reg-stack.c
> ===================================================================
> *** trunk.orig/gcc/reg-stack.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/reg-stack.c 2013-03-19 14:55:18.145238579 +0100
> *************** struct rtl_opt_pass pass_stack_regs_run
> *** 3344,3350 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 3344,3349 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/regmove.c
> ===================================================================
> *** trunk.orig/gcc/regmove.c 2013-01-11 10:54:52.000000000 +0100
> --- trunk/gcc/regmove.c 2013-03-19 14:55:22.974291828 +0100
> *************** struct rtl_opt_pass pass_regmove =
> *** 1377,1383 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 1377,1382 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_df_finish | TODO_verify_rtl_sharing /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/reorg.c
> ===================================================================
> *** trunk.orig/gcc/reorg.c 2013-01-11 10:54:31.000000000 +0100
> --- trunk/gcc/reorg.c 2013-03-19 14:55:36.837444691 +0100
> *************** struct rtl_opt_pass pass_delay_slots =
> *** 3909,3915 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 3909,3915 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_machine_reorg =
> *** 3944,3949 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 3944,3949 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/sched-rgn.c
> ===================================================================
> *** trunk.orig/gcc/sched-rgn.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/sched-rgn.c 2013-03-19 14:55:56.177657906 +0100
> *************** struct rtl_opt_pass pass_sched =
> *** 3628,3635 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 3628,3634 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
>
> *************** struct rtl_opt_pass pass_sched2 =
> *** 3650,3656 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow |
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 3649,3654 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/store-motion.c
> ===================================================================
> *** trunk.orig/gcc/store-motion.c 2013-01-11 10:54:52.000000000 +0100
> --- trunk/gcc/store-motion.c 2013-03-19 14:56:02.297725389 +0100
> *************** struct rtl_opt_pass pass_rtl_store_motio
> *** 1249,1254 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 1249,1254 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_df_finish | TODO_verify_rtl_sharing |
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-cfgcleanup.c
> ===================================================================
> *** trunk.orig/gcc/tree-cfgcleanup.c 2013-03-01 12:05:04.000000000 +0100
> --- trunk/gcc/tree-cfgcleanup.c 2013-03-19 16:35:23.654956247 +0100
> *************** struct gimple_opt_pass pass_merge_phi =
> *** 992,998 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> ! | TODO_verify_ssa
> }
> };
> --- 992,997 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-complex.c
> ===================================================================
> *** trunk.orig/gcc/tree-complex.c 2013-01-11 10:54:24.000000000 +0100
> --- trunk/gcc/tree-complex.c 2013-03-19 14:57:00.809370589 +0100
> *************** struct gimple_opt_pass pass_lower_comple
> *** 1648,1656 ****
> PROP_gimple_lcx, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_update_ssa
> ! | TODO_verify_stmts /* todo_flags_finish */
> }
> };
>
> --- 1648,1655 ----
> PROP_gimple_lcx, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa
> ! | TODO_verify_stmts /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_lower_comple
> *** 1679,1686 ****
> PROP_gimple_lcx, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_update_ssa
> ! | TODO_verify_stmts /* todo_flags_finish */
> }
> };
> --- 1678,1684 ----
> PROP_gimple_lcx, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa
> ! | TODO_verify_stmts /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-emutls.c
> ===================================================================
> *** trunk.orig/gcc/tree-emutls.c 2013-01-11 10:54:30.000000000 +0100
> --- trunk/gcc/tree-emutls.c 2013-03-19 14:57:04.606412445 +0100
> *************** ipa_lower_emutls (void)
> *** 798,804 ****
> access_vars.release ();
> free_varpool_node_set (tls_vars);
>
> ! return TODO_ggc_collect | TODO_verify_all;
> }
>
> /* If the target supports TLS natively, we need do nothing here. */
> --- 798,804 ----
> access_vars.release ();
> free_varpool_node_set (tls_vars);
>
> ! return TODO_verify_all;
> }
>
> /* If the target supports TLS natively, we need do nothing here. */
> Index: trunk/gcc/tree-loop-distribution.c
> ===================================================================
> *** trunk.orig/gcc/tree-loop-distribution.c 2013-03-05 10:15:39.000000000 +0100
> --- trunk/gcc/tree-loop-distribution.c 2013-03-19 14:57:10.918482053 +0100
> *************** struct gimple_opt_pass pass_loop_distrib
> *** 1585,1591 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 1585,1590 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-nrv.c
> ===================================================================
> *** trunk.orig/gcc/tree-nrv.c 2013-01-11 10:54:42.000000000 +0100
> --- trunk/gcc/tree-nrv.c 2013-03-19 14:57:22.183606284 +0100
> *************** struct gimple_opt_pass pass_nrv =
> *** 285,291 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 285,291 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/tree-pass.h
> ===================================================================
> *** trunk.orig/gcc/tree-pass.h 2013-03-07 15:55:32.000000000 +0100
> --- trunk/gcc/tree-pass.h 2013-03-19 16:35:58.666318670 +0100
> *************** struct simple_ipa_opt_pass
> *** 153,159 ****
> (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)
> --- 153,158 ----
> *************** extern struct rtl_opt_pass pass_mode_swi
> *** 445,451 ****
> 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;
> --- 444,449 ----
> Index: trunk/gcc/tree-sra.c
> ===================================================================
> *** trunk.orig/gcc/tree-sra.c 2013-03-19 13:18:37.000000000 +0100
> --- trunk/gcc/tree-sra.c 2013-03-19 16:35:23.654956247 +0100
> *************** struct gimple_opt_pass pass_sra_early =
> *** 3450,3456 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_update_ssa
> - | TODO_ggc_collect
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 3450,3455 ----
> *************** struct gimple_opt_pass pass_sra =
> *** 3472,3478 ****
> 0, /* properties_destroyed */
> TODO_update_address_taken, /* todo_flags_start */
> TODO_update_ssa
> - | TODO_ggc_collect
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 3471,3476 ----
> Index: trunk/gcc/tree-ssa-ccp.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-ccp.c 2013-02-20 16:19:27.000000000 +0100
> --- trunk/gcc/tree-ssa-ccp.c 2013-03-19 14:57:35.191749754 +0100
> *************** struct gimple_opt_pass pass_ccp =
> *** 2139,2145 ****
> 0, /* todo_flags_start */
> TODO_verify_ssa
> | TODO_update_address_taken
> ! | TODO_verify_stmts | TODO_ggc_collect/* todo_flags_finish */
> }
> };
>
> --- 2139,2145 ----
> 0, /* todo_flags_start */
> TODO_verify_ssa
> | TODO_update_address_taken
> ! | TODO_verify_stmts /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/tree-ssa-copy.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-copy.c 2013-03-19 11:35:19.000000000 +0100
> --- trunk/gcc/tree-ssa-copy.c 2013-03-19 14:57:39.812800695 +0100
> *************** struct gimple_opt_pass pass_copy_prop =
> *** 844,850 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_cleanup_cfg
> - | TODO_ggc_collect
> | TODO_verify_ssa
> | TODO_update_ssa /* todo_flags_finish */
> }
> --- 844,849 ----
> Index: trunk/gcc/tree-ssa-dom.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-dom.c 2013-01-31 10:58:22.000000000 +0100
> --- trunk/gcc/tree-ssa-dom.c 2013-03-19 14:57:45.883867651 +0100
> *************** struct gimple_opt_pass pass_phi_only_cpr
> *** 3043,3049 ****
> 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 */
> --- 3043,3048 ----
> Index: trunk/gcc/tree-ssa-dse.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-dse.c 2013-01-11 10:54:31.000000000 +0100
> --- trunk/gcc/tree-ssa-dse.c 2013-03-19 14:57:50.096914113 +0100
> *************** struct gimple_opt_pass pass_dse =
> *** 366,372 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 366,371 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-forwprop.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-forwprop.c 2013-03-08 16:22:34.000000000 +0100
> --- trunk/gcc/tree-ssa-forwprop.c 2013-03-19 14:57:54.751965447 +0100
> *************** struct gimple_opt_pass pass_forwprop =
> *** 3153,3160 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_update_ssa
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 3153,3159 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-ifcombine.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-ifcombine.c 2013-01-11 10:54:46.000000000 +0100
> --- trunk/gcc/tree-ssa-ifcombine.c 2013-03-19 14:58:00.305026682 +0100
> *************** struct gimple_opt_pass pass_tree_ifcombi
> *** 664,671 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_update_ssa
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 664,670 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-loop.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-loop.c 2013-03-19 13:18:37.000000000 +0100
> --- trunk/gcc/tree-ssa-loop.c 2013-03-19 16:35:23.643956132 +0100
> *************** struct gimple_opt_pass pass_tree_loop =
> *** 56,63 ****
> 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 */
> }
> };
>
> --- 56,63 ----
> PROP_cfg, /* properties_required */
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> ! 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_tree_unswitc
> *** 170,176 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 170,176 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_vectorize =
> *** 245,251 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 245,251 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_complete_unr
> *** 491,497 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 491,497 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_complete_unr
> *** 538,545 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_flow
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 538,544 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_flow /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_iv_optimize
> *** 653,659 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa | TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 652,658 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/tree-ssa-phiopt.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-phiopt.c 2013-03-19 13:18:37.000000000 +0100
> --- trunk/gcc/tree-ssa-phiopt.c 2013-03-19 16:35:23.654956247 +0100
> *************** struct gimple_opt_pass pass_phiopt =
> *** 2013,2020 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_verify_ssa
> | TODO_verify_flow
> | TODO_verify_stmts /* todo_flags_finish */
> }
> --- 2013,2019 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa
> | TODO_verify_flow
> | TODO_verify_stmts /* todo_flags_finish */
> }
> *************** struct gimple_opt_pass pass_cselim =
> *** 2042,2049 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_verify_ssa
> | TODO_verify_flow
> | TODO_verify_stmts /* todo_flags_finish */
> }
> --- 2041,2047 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa
> | TODO_verify_flow
> | TODO_verify_stmts /* todo_flags_finish */
> }
> Index: trunk/gcc/tree-ssa-phiprop.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-phiprop.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/tree-ssa-phiprop.c 2013-03-19 14:58:50.951585259 +0100
> *************** struct gimple_opt_pass pass_phiprop =
> *** 420,427 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_update_ssa
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 420,426 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_update_ssa
> | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-pre.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-pre.c 2013-03-19 11:16:05.000000000 +0100
> --- trunk/gcc/tree-ssa-pre.c 2013-03-19 14:59:07.428766988 +0100
> *************** struct gimple_opt_pass pass_pre =
> *** 4789,4795 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> TODO_rebuild_alias, /* todo_flags_start */
> ! TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> --- 4789,4795 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> TODO_rebuild_alias, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
>
> *************** struct gimple_opt_pass pass_fre =
> *** 4841,4846 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 4841,4846 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-reassoc.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-reassoc.c 2013-03-07 15:56:14.000000000 +0100
> --- trunk/gcc/tree-ssa-reassoc.c 2013-03-19 14:59:14.888849246 +0100
> *************** struct gimple_opt_pass pass_reassoc =
> *** 4293,4299 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_verify_ssa
> ! | TODO_verify_flow
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 4293,4298 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_verify_ssa
> ! | TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-sink.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-sink.c 2013-03-19 11:27:30.000000000 +0100
> --- trunk/gcc/tree-ssa-sink.c 2013-03-19 14:59:21.649923834 +0100
> *************** struct gimple_opt_pass pass_sink_code =
> *** 597,603 ****
> 0, /* todo_flags_start */
> TODO_update_ssa
> | TODO_verify_ssa
> ! | TODO_verify_flow
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 597,602 ----
> 0, /* todo_flags_start */
> TODO_update_ssa
> | TODO_verify_ssa
> ! | TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-ssa-strlen.c
> ===================================================================
> *** trunk.orig/gcc/tree-ssa-strlen.c 2013-01-11 10:54:28.000000000 +0100
> --- trunk/gcc/tree-ssa-strlen.c 2013-03-19 14:59:39.859124663 +0100
> *************** struct gimple_opt_pass pass_strlen =
> *** 2020,2026 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_verify_ssa /* todo_flags_finish */
> }
> };
> --- 2020,2025 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree-switch-conversion.c
> ===================================================================
> *** trunk.orig/gcc/tree-switch-conversion.c 2013-01-11 10:54:56.000000000 +0100
> --- trunk/gcc/tree-switch-conversion.c 2013-03-19 14:59:43.423163973 +0100
> *************** struct gimple_opt_pass pass_convert_swit
> *** 1477,1483 ****
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_update_ssa
> ! | TODO_ggc_collect | TODO_verify_ssa
> | TODO_verify_stmts
> | TODO_verify_flow /* todo_flags_finish */
> }
> --- 1477,1483 ----
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> TODO_update_ssa
> ! | TODO_verify_ssa
> | TODO_verify_stmts
> | TODO_verify_flow /* todo_flags_finish */
> }
> Index: trunk/gcc/tree-vectorizer.c
> ===================================================================
> *** trunk.orig/gcc/tree-vectorizer.c 2013-03-18 09:55:09.000000000 +0100
> --- trunk/gcc/tree-vectorizer.c 2013-03-19 14:59:47.037203861 +0100
> *************** struct gimple_opt_pass pass_slp_vectoriz
> *** 214,221 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect
> ! | TODO_verify_ssa
> | TODO_update_ssa
> | TODO_verify_stmts /* todo_flags_finish */
> }
> --- 214,220 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_verify_ssa
> | TODO_update_ssa
> | TODO_verify_stmts /* todo_flags_finish */
> }
> Index: trunk/gcc/tree-vrp.c
> ===================================================================
> *** trunk.orig/gcc/tree-vrp.c 2013-02-27 12:26:24.000000000 +0100
> --- trunk/gcc/tree-vrp.c 2013-03-19 14:59:52.518264325 +0100
> *************** struct gimple_opt_pass pass_vrp =
> *** 9365,9371 ****
> TODO_cleanup_cfg
> | TODO_update_ssa
> | TODO_verify_ssa
> ! | TODO_verify_flow
> ! | TODO_ggc_collect /* todo_flags_finish */
> }
> };
> --- 9365,9370 ----
> TODO_cleanup_cfg
> | TODO_update_ssa
> | TODO_verify_ssa
> ! | TODO_verify_flow /* todo_flags_finish */
> }
> };
> Index: trunk/gcc/tree.c
> ===================================================================
> *** trunk.orig/gcc/tree.c 2013-03-18 09:55:00.000000000 +0100
> --- trunk/gcc/tree.c 2013-03-19 14:59:59.297339104 +0100
> *************** struct simple_ipa_opt_pass pass_ipa_free
> *** 5296,5302 ****
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! TODO_ggc_collect /* todo_flags_finish */
> }
> };
>
> --- 5296,5302 ----
> 0, /* properties_provided */
> 0, /* properties_destroyed */
> 0, /* todo_flags_start */
> ! 0 /* todo_flags_finish */
> }
> };
>
> Index: trunk/gcc/config/i386/i386.c
> ===================================================================
> *** trunk.orig/gcc/config/i386/i386.c 2013-03-07 13:26:01.000000000 +0100
> --- trunk/gcc/config/i386/i386.c 2013-03-19 15:14:18.103818196 +0100
> *************** static void
> *** 3930,3936 ****
> ix86_option_override (void)
> {
> static struct register_pass_info insert_vzeroupper_info
> ! = { &pass_insert_vzeroupper.pass, "reload",
> 1, PASS_POS_INSERT_AFTER
> };
>
> --- 3930,3936 ----
> ix86_option_override (void)
> {
> static struct register_pass_info insert_vzeroupper_info
> ! = { &pass_insert_vzeroupper.pass, "ira",
> 1, PASS_POS_INSERT_AFTER
> };
>
>
--
Richard Biener <rguenther@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend