This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Do not compute the DF_NOTE problem for the passes in gcse.c and store-motion.c


On Wed, Jan 6, 2010 at 4:49 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> Hi,
>
> More low-hanging fruit I noticed when looking at PR18687 profiles.
> good for just over 1.0% compile-time improvement on infcodes100.c.
>
> The issue here, is that we add/remove the DF_NOTE problem all the
> time, but the notes had no effect in these passes: INSNs with multiple
> SETs are ignored by these passes.
>
> Bootstrapped and tested on ia64-unknown-linux-gnu. OK for trunk?

Ok.

Thanks,
Richard.

> Ciao!
> Steven
>
>
> ? ? ? ?* gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
> ? ? ? ?Do not add the DF_NOTE problem.
> ? ? ? ?* store-motion.c (execute_rtl_store_motion): Likewise.
>
> Index: gcse.c
> ===================================================================
> --- gcse.c ? ? ?(revision 155675)
> +++ gcse.c ? ? ?(working copy)
> @@ -5078,7 +5078,6 @@ static unsigned int
> ?execute_rtl_cprop (void)
> ?{
> ? delete_unreachable_blocks ();
> - ?df_note_add_problem ();
> ? df_set_flags (DF_LR_RUN_DCE);
> ? df_analyze ();
> ? flag_rerun_cse_after_global_opts |= one_cprop_pass ();
> @@ -5098,7 +5097,6 @@ static unsigned int
> ?execute_rtl_pre (void)
> ?{
> ? delete_unreachable_blocks ();
> - ?df_note_add_problem ();
> ? df_analyze ();
> ? flag_rerun_cse_after_global_opts |= one_pre_gcse_pass ();
> ? return 0;
> @@ -5120,7 +5118,6 @@ static unsigned int
> ?execute_rtl_hoist (void)
> ?{
> ? delete_unreachable_blocks ();
> - ?df_note_add_problem ();
> ? df_analyze ();
> ? flag_rerun_cse_after_global_opts |= one_code_hoisting_pass ();
> ? return 0;
> Index: store-motion.c
> ===================================================================
> --- store-motion.c ? ? ?(revision 155675)
> +++ store-motion.c ? ? ?(working copy)
> @@ -1237,7 +1237,6 @@ static unsigned int
> ?execute_rtl_store_motion (void)
> ?{
> ? delete_unreachable_blocks ();
> - ?df_note_add_problem ();
> ? df_analyze ();
> ? flag_rerun_cse_after_global_opts |= one_store_motion_pass ();
> ? return 0;
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]