diff mbox

LTO streaming of TARGET_OPTIMIZE_NODE

Message ID 20150111203741.GC30445@msticlxl57.ims.intel.com
State New
Headers show

Commit Message

Ilya Verbin Jan. 11, 2015, 8:37 p.m. UTC
On 09 Jan 12:45, Jakub Jelinek wrote:
> --- gcc/cgraphunit.c.jj	2015-01-09 12:01:33.000000000 +0100
> +++ gcc/cgraphunit.c	2015-01-09 12:22:27.742692667 +0100
> @@ -2108,11 +2108,14 @@ ipa_passes (void)
>        if (g->have_offload)
>  	{
>  	  section_name_prefix = OFFLOAD_SECTION_NAME_PREFIX;
> +	  lto_stream_offload_p = true;
>  	  ipa_write_summaries (true);
> +	  lto_stream_offload_p = false;
>  	}
>        if (flag_lto)
>  	{
>  	  section_name_prefix = LTO_SECTION_NAME_PREFIX;
> +	  lto_stream_offload_p = false;
>  	  ipa_write_summaries (false);
>  	}

Now when we have a global flag, there is no longer need to pass a flag to
ipa_write_summaries and to select_what_to_stream.

Bootstrapped/regtested on x86_64-linux and i686-linux, OK for trunk?


gcc/
	* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
	* lto-cgraph.c (select_what_to_stream): Remove argument, use
	lto_stream_offload_p instead.
	* lto-streamer.h (select_what_to_stream): Remove argument.
	* passes.c (ipa_write_summaries): Likewise.
	* tree-pass.h (ipa_write_summaries): Likewise.
gcc/lto/
	* lto-partition.c (lto_promote_cross_file_statics): Remove argument
	from select_what_to_stream.




  -- Ilya

Comments

Jan Hubicka Jan. 12, 2015, 8:01 p.m. UTC | #1
> On 09 Jan 12:45, Jakub Jelinek wrote:
> > --- gcc/cgraphunit.c.jj	2015-01-09 12:01:33.000000000 +0100
> > +++ gcc/cgraphunit.c	2015-01-09 12:22:27.742692667 +0100
> > @@ -2108,11 +2108,14 @@ ipa_passes (void)
> >        if (g->have_offload)
> >  	{
> >  	  section_name_prefix = OFFLOAD_SECTION_NAME_PREFIX;
> > +	  lto_stream_offload_p = true;
> >  	  ipa_write_summaries (true);
> > +	  lto_stream_offload_p = false;
> >  	}
> >        if (flag_lto)
> >  	{
> >  	  section_name_prefix = LTO_SECTION_NAME_PREFIX;
> > +	  lto_stream_offload_p = false;
> >  	  ipa_write_summaries (false);
> >  	}
> 
> Now when we have a global flag, there is no longer need to pass a flag to
> ipa_write_summaries and to select_what_to_stream.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, OK for trunk?
OK,
Honza
> 
> 
> gcc/
> 	* cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
> 	* lto-cgraph.c (select_what_to_stream): Remove argument, use
> 	lto_stream_offload_p instead.
> 	* lto-streamer.h (select_what_to_stream): Remove argument.
> 	* passes.c (ipa_write_summaries): Likewise.
> 	* tree-pass.h (ipa_write_summaries): Likewise.
> gcc/lto/
> 	* lto-partition.c (lto_promote_cross_file_statics): Remove argument
> 	from select_what_to_stream.
> 
> 
> diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
> index 149f447..1ef1b6c 100644
> --- a/gcc/cgraphunit.c
> +++ b/gcc/cgraphunit.c
> @@ -2115,14 +2115,14 @@ ipa_passes (void)
>  	{
>  	  section_name_prefix = OFFLOAD_SECTION_NAME_PREFIX;
>  	  lto_stream_offload_p = true;
> -	  ipa_write_summaries (true);
> +	  ipa_write_summaries ();
>  	  lto_stream_offload_p = false;
>  	}
>        if (flag_lto)
>  	{
>  	  section_name_prefix = LTO_SECTION_NAME_PREFIX;
>  	  lto_stream_offload_p = false;
> -	  ipa_write_summaries (false);
> +	  ipa_write_summaries ();
>  	}
>      }
>  
> diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
> index 6c6501a..91be530 100644
> --- a/gcc/lto-cgraph.c
> +++ b/gcc/lto-cgraph.c
> @@ -842,11 +842,11 @@ create_references (lto_symtab_encoder_t encoder, symtab_node *node)
>  /* Select what needs to be streamed out.  In regular lto mode stream everything.
>     In offload lto mode stream only nodes marked as offloadable.  */
>  void
> -select_what_to_stream (bool offload_lto_mode)
> +select_what_to_stream (void)
>  {
>    struct symtab_node *snode;
>    FOR_EACH_SYMBOL (snode)
> -    snode->need_lto_streaming = !offload_lto_mode || snode->offloadable;
> +    snode->need_lto_streaming = !lto_stream_offload_p || snode->offloadable;
>  }
>  
>  /* Find all symbols we want to stream into given partition and insert them
> diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
> index 853630f..2d9f30c 100644
> --- a/gcc/lto-streamer.h
> +++ b/gcc/lto-streamer.h
> @@ -837,7 +837,7 @@ bool referenced_from_this_partition_p (symtab_node *,
>  bool reachable_from_this_partition_p (struct cgraph_node *,
>  				      lto_symtab_encoder_t);
>  lto_symtab_encoder_t compute_ltrans_boundary (lto_symtab_encoder_t encoder);
> -void select_what_to_stream (bool);
> +void select_what_to_stream (void);
>  
>  /* In options-save.c.  */
>  void cl_target_option_stream_out (struct output_block *, struct bitpack_d *,
> diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c
> index 38809d2..c1179cb 100644
> --- a/gcc/lto/lto-partition.c
> +++ b/gcc/lto/lto-partition.c
> @@ -973,7 +973,8 @@ lto_promote_cross_file_statics (void)
>  
>    gcc_assert (flag_wpa);
>  
> -  select_what_to_stream (false);
> +  lto_stream_offload_p = false;
> +  select_what_to_stream ();
>  
>    /* First compute boundaries.  */
>    n_sets = ltrans_partitions.length ();
> diff --git a/gcc/passes.c b/gcc/passes.c
> index 52dc067..e78a325 100644
> --- a/gcc/passes.c
> +++ b/gcc/passes.c
> @@ -2464,7 +2464,7 @@ ipa_write_summaries_1 (lto_symtab_encoder_t encoder)
>  /* Write out summaries for all the nodes in the callgraph.  */
>  
>  void
> -ipa_write_summaries (bool offload_lto_mode)
> +ipa_write_summaries (void)
>  {
>    lto_symtab_encoder_t encoder;
>    int i, order_pos;
> @@ -2475,7 +2475,7 @@ ipa_write_summaries (bool offload_lto_mode)
>    if ((!flag_generate_lto && !flag_generate_offload) || seen_error ())
>      return;
>  
> -  select_what_to_stream (offload_lto_mode);
> +  select_what_to_stream ();
>  
>    encoder = lto_symtab_encoder_new (false);
>  
> diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
> index 398ab83..9ff5bdc 100644
> --- a/gcc/tree-pass.h
> +++ b/gcc/tree-pass.h
> @@ -603,7 +603,7 @@ extern void pass_fini_dump_file (opt_pass *);
>  extern const char *get_current_pass_name (void);
>  extern void print_current_pass (FILE *);
>  extern void debug_pass (void);
> -extern void ipa_write_summaries (bool);
> +extern void ipa_write_summaries (void);
>  extern void ipa_write_optimization_summaries (struct lto_symtab_encoder_d *);
>  extern void ipa_read_summaries (void);
>  extern void ipa_read_optimization_summaries (void);
> 
> 
>   -- Ilya
diff mbox

Patch

diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 149f447..1ef1b6c 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -2115,14 +2115,14 @@  ipa_passes (void)
 	{
 	  section_name_prefix = OFFLOAD_SECTION_NAME_PREFIX;
 	  lto_stream_offload_p = true;
-	  ipa_write_summaries (true);
+	  ipa_write_summaries ();
 	  lto_stream_offload_p = false;
 	}
       if (flag_lto)
 	{
 	  section_name_prefix = LTO_SECTION_NAME_PREFIX;
 	  lto_stream_offload_p = false;
-	  ipa_write_summaries (false);
+	  ipa_write_summaries ();
 	}
     }
 
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 6c6501a..91be530 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -842,11 +842,11 @@  create_references (lto_symtab_encoder_t encoder, symtab_node *node)
 /* Select what needs to be streamed out.  In regular lto mode stream everything.
    In offload lto mode stream only nodes marked as offloadable.  */
 void
-select_what_to_stream (bool offload_lto_mode)
+select_what_to_stream (void)
 {
   struct symtab_node *snode;
   FOR_EACH_SYMBOL (snode)
-    snode->need_lto_streaming = !offload_lto_mode || snode->offloadable;
+    snode->need_lto_streaming = !lto_stream_offload_p || snode->offloadable;
 }
 
 /* Find all symbols we want to stream into given partition and insert them
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
index 853630f..2d9f30c 100644
--- a/gcc/lto-streamer.h
+++ b/gcc/lto-streamer.h
@@ -837,7 +837,7 @@  bool referenced_from_this_partition_p (symtab_node *,
 bool reachable_from_this_partition_p (struct cgraph_node *,
 				      lto_symtab_encoder_t);
 lto_symtab_encoder_t compute_ltrans_boundary (lto_symtab_encoder_t encoder);
-void select_what_to_stream (bool);
+void select_what_to_stream (void);
 
 /* In options-save.c.  */
 void cl_target_option_stream_out (struct output_block *, struct bitpack_d *,
diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c
index 38809d2..c1179cb 100644
--- a/gcc/lto/lto-partition.c
+++ b/gcc/lto/lto-partition.c
@@ -973,7 +973,8 @@  lto_promote_cross_file_statics (void)
 
   gcc_assert (flag_wpa);
 
-  select_what_to_stream (false);
+  lto_stream_offload_p = false;
+  select_what_to_stream ();
 
   /* First compute boundaries.  */
   n_sets = ltrans_partitions.length ();
diff --git a/gcc/passes.c b/gcc/passes.c
index 52dc067..e78a325 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -2464,7 +2464,7 @@  ipa_write_summaries_1 (lto_symtab_encoder_t encoder)
 /* Write out summaries for all the nodes in the callgraph.  */
 
 void
-ipa_write_summaries (bool offload_lto_mode)
+ipa_write_summaries (void)
 {
   lto_symtab_encoder_t encoder;
   int i, order_pos;
@@ -2475,7 +2475,7 @@  ipa_write_summaries (bool offload_lto_mode)
   if ((!flag_generate_lto && !flag_generate_offload) || seen_error ())
     return;
 
-  select_what_to_stream (offload_lto_mode);
+  select_what_to_stream ();
 
   encoder = lto_symtab_encoder_new (false);
 
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index 398ab83..9ff5bdc 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -603,7 +603,7 @@  extern void pass_fini_dump_file (opt_pass *);
 extern const char *get_current_pass_name (void);
 extern void print_current_pass (FILE *);
 extern void debug_pass (void);
-extern void ipa_write_summaries (bool);
+extern void ipa_write_summaries (void);
 extern void ipa_write_optimization_summaries (struct lto_symtab_encoder_d *);
 extern void ipa_read_summaries (void);
 extern void ipa_read_optimization_summaries (void);