Message ID | 564867BF.4030608@mentor.com |
---|---|
State | New |
Headers | show |
On Sun, 2015-11-15 at 12:08 +0100, Tom de Vries wrote: > On 15/11/15 11:55, Tom de Vries wrote: > > [ was: Re: [PATCH] Remove first_pass_instance from pass_vrp ] > > > > This patch series removes first_pass_instance. > > > > 1 Remove first_pass_instance from pass_vrp > > 2 Remove first_pass_instance from pass_reassoc > > 3 Remove first_pass_instance from pass_dominator > > 4 Remove first_pass_instance from pass_object_sizes > > 5 Remove first_pass_instance from pass_ccp > > 6 Remove first_pass_instance > > > > Bootstrapped and reg-tested on x86_64. > > > > I will post the individual patches in reply to this email. > > > > [ I won't post the first patch though. It was already posted here: > > https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01701.html . ] > > this patch removes the variable first_pass_instance. Can we also get rid of TODO_mark_first_instance, or would that be a followup? > > Thanks, > - Tom > > differences between files attachment > (0006-Remove-first_pass_instance.patch) > Remove first_pass_instance > > 2015-11-15 Tom de Vries <tom@codesourcery.com> > > * passes.c (first_pass_instance): Remove variable. > (execute_todo): Remove setting of first_pass_instance. > * tree-pass.h (first_pass_instance): Remove declaration. > > --- > gcc/passes.c | 4 ---- > gcc/tree-pass.h | 6 ------ > 2 files changed, 10 deletions(-) > > diff --git a/gcc/passes.c b/gcc/passes.c > index e634c5c..0e23dcb 100644 > --- a/gcc/passes.c > +++ b/gcc/passes.c > @@ -151,7 +151,6 @@ debug_pass (void) > > /* Global variables used to communicate with passes. */ > bool in_gimple_form; > -bool first_pass_instance; > > > /* This is called from various places for FUNCTION_DECL, VAR_DECL, > @@ -2005,9 +2004,6 @@ execute_todo (unsigned int flags) > > timevar_push (TV_TODO); > > - /* Inform the pass whether it is the first time it is run. */ > - first_pass_instance = (flags & TODO_mark_first_instance) != 0; > - > statistics_fini_pass (); > > if (flags) > diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h > index d647e73..dcd2d5e 100644 > --- a/gcc/tree-pass.h > +++ b/gcc/tree-pass.h > @@ -629,12 +629,6 @@ extern void ipa_read_optimization_summaries (void); > extern void register_one_dump_file (opt_pass *); > extern bool function_called_by_processed_nodes_p (void); > > -/* Set to true if the pass is called the first time during compilation of the > - current function. Note that using this information in the optimization > - passes is considered not to be clean, and it should be avoided if > - possible. */ > -extern bool first_pass_instance; > - > /* Declare for plugins. */ > extern void do_per_function_toporder (void (*) (function *, void *), void *); >
On 15/11/15 16:24, David Malcolm wrote: > On Sun, 2015-11-15 at 12:08 +0100, Tom de Vries wrote: >> On 15/11/15 11:55, Tom de Vries wrote: >>> [ was: Re: [PATCH] Remove first_pass_instance from pass_vrp ] >>> >>> This patch series removes first_pass_instance. >>> >>> 1 Remove first_pass_instance from pass_vrp >>> 2 Remove first_pass_instance from pass_reassoc >>> 3 Remove first_pass_instance from pass_dominator >>> 4 Remove first_pass_instance from pass_object_sizes >>> 5 Remove first_pass_instance from pass_ccp >>> 6 Remove first_pass_instance >>> >>> Bootstrapped and reg-tested on x86_64. >>> >>> I will post the individual patches in reply to this email. >>> >>> [ I won't post the first patch though. It was already posted here: >>> https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01701.html . ] >> >> this patch removes the variable first_pass_instance. > > Can we also get rid of TODO_mark_first_instance, or would that be a > followup? TODO_mark_first_instance is used in position_pass, which AFAIU is used in the plugin infrastructure. I'm not familiar with the plugin infrastructure and concepts, so I can't say anything sensible about whether we can get rid of the flag. Thanks, - Tom
[ Adding CC Le-Chun Wu ] On 15/11/15 17:22, Tom de Vries wrote: > On 15/11/15 16:24, David Malcolm wrote: >> On Sun, 2015-11-15 at 12:08 +0100, Tom de Vries wrote: >>> On 15/11/15 11:55, Tom de Vries wrote: >>>> [ was: Re: [PATCH] Remove first_pass_instance from pass_vrp ] >>>> >>>> This patch series removes first_pass_instance. >>>> >>>> 1 Remove first_pass_instance from pass_vrp >>>> 2 Remove first_pass_instance from pass_reassoc >>>> 3 Remove first_pass_instance from pass_dominator >>>> 4 Remove first_pass_instance from pass_object_sizes >>>> 5 Remove first_pass_instance from pass_ccp >>>> 6 Remove first_pass_instance >>>> >>>> Bootstrapped and reg-tested on x86_64. >>>> >>>> I will post the individual patches in reply to this email. >>>> >>>> [ I won't post the first patch though. It was already posted here: >>>> https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01701.html . ] >>> >>> this patch removes the variable first_pass_instance. >> >> Can we also get rid of TODO_mark_first_instance, or would that be a >> followup? > > TODO_mark_first_instance is used in position_pass, which AFAIU is used > in the plugin infrastructure. I'm not familiar with the plugin > infrastructure and concepts, so I can't say anything sensible about > whether we can get rid of the flag. > > Thanks, > - Tom
Remove first_pass_instance 2015-11-15 Tom de Vries <tom@codesourcery.com> * passes.c (first_pass_instance): Remove variable. (execute_todo): Remove setting of first_pass_instance. * tree-pass.h (first_pass_instance): Remove declaration. --- gcc/passes.c | 4 ---- gcc/tree-pass.h | 6 ------ 2 files changed, 10 deletions(-) diff --git a/gcc/passes.c b/gcc/passes.c index e634c5c..0e23dcb 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -151,7 +151,6 @@ debug_pass (void) /* Global variables used to communicate with passes. */ bool in_gimple_form; -bool first_pass_instance; /* This is called from various places for FUNCTION_DECL, VAR_DECL, @@ -2005,9 +2004,6 @@ execute_todo (unsigned int flags) timevar_push (TV_TODO); - /* Inform the pass whether it is the first time it is run. */ - first_pass_instance = (flags & TODO_mark_first_instance) != 0; - statistics_fini_pass (); if (flags) diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index d647e73..dcd2d5e 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -629,12 +629,6 @@ extern void ipa_read_optimization_summaries (void); extern void register_one_dump_file (opt_pass *); extern bool function_called_by_processed_nodes_p (void); -/* Set to true if the pass is called the first time during compilation of the - current function. Note that using this information in the optimization - passes is considered not to be clean, and it should be avoided if - possible. */ -extern bool first_pass_instance; - /* Declare for plugins. */ extern void do_per_function_toporder (void (*) (function *, void *), void *);