diff mbox

[6/6] Remove first_pass_instance

Message ID 564867BF.4030608@mentor.com
State New
Headers show

Commit Message

Tom de Vries Nov. 15, 2015, 11:08 a.m. UTC
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.

Thanks,
- Tom

Comments

David Malcolm Nov. 15, 2015, 3:24 p.m. UTC | #1
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 *);
>
Tom de Vries Nov. 15, 2015, 4:22 p.m. UTC | #2
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
Tom de Vries Nov. 15, 2015, 10:54 p.m. UTC | #3
[ 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
diff mbox

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 *);