From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6720 invoked by alias); 12 Jan 2015 20:02:05 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 6710 invoked by uid 89); 12 Jan 2015 20:02:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: nikam.ms.mff.cuni.cz Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 12 Jan 2015 20:02:02 +0000 Received: by nikam.ms.mff.cuni.cz (Postfix, from userid 16202) id 78CC354310E; Mon, 12 Jan 2015 21:01:57 +0100 (CET) Date: Mon, 12 Jan 2015 20:08:00 -0000 From: Jan Hubicka To: Ilya Verbin Cc: Jakub Jelinek , Richard Biener , Jan Hubicka , Kirill Yukhin , gcc-patches@gcc.gnu.org Subject: Re: LTO streaming of TARGET_OPTIMIZE_NODE Message-ID: <20150112200157.GA13941@kam.mff.cuni.cz> References: <20141113040652.GB1984@kam.mff.cuni.cz> <546DDE1C.6060203@t-online.de> <20150108141149.GC1405@tucnak.redhat.com> <871tn4w6tt.fsf@schwinge.name> <20150109114503.GW1405@tucnak.redhat.com> <20150111203741.GC30445@msticlxl57.ims.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150111203741.GC30445@msticlxl57.ims.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2015-01/txt/msg00732.txt.bz2 > 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