From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id 6BC2C3857812 for ; Fri, 4 Sep 2020 09:33:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6BC2C3857812 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rguenther@suse.de X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 5B5BEB68A; Fri, 4 Sep 2020 09:33:21 +0000 (UTC) Date: Fri, 4 Sep 2020 11:33:20 +0200 (CEST) From: Richard Biener To: Jakub Jelinek cc: Jan Hubicka , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] lto: Remove stream_input_location_now In-Reply-To: <20200904084931.GU18149@tucnak> Message-ID: References: <20200904084931.GU18149@tucnak> User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Sep 2020 09:33:23 -0000 On Fri, 4 Sep 2020, Jakub Jelinek wrote: > Hi! > > As discussed yesterday, stream_input_location_now has been used in 3 > remaining places. For ERT_MUST_NOT_THROW, I believe the failure_loc > location is stable at least until the apply_cache after the bbs are all > read, and the locations do not include BLOCK, so we can use normal > stream_input_location, and the two input_struct_function_base also > shouldn't include BLOCK and are stable at least until that same apply_cache > after reading all bbs, so again we can use the location cache. > > Bootstrapped/regtested on x86_64-linux and i686-linux, and lto bootstrapped > on x86_64-linux, ok for trunk? OK. Thanks, Richard. > 2020-09-03 Jakub Jelinek > > * lto-streamer.h (stream_input_location_now): Remove declaration. > * lto-streamer-in.c (stream_input_location_now): Remove. > (input_eh_region, input_struct_function_base): Use > stream_input_location instead of stream_input_location_now. > > --- gcc/lto-streamer.h.jj 2020-09-03 20:10:13.753993705 +0200 > +++ gcc/lto-streamer.h 2020-09-03 20:18:59.209362865 +0200 > @@ -853,8 +853,6 @@ extern class data_in *lto_data_in_create > extern void lto_data_in_delete (class data_in *); > extern void lto_input_data_block (class lto_input_block *, void *, size_t); > void lto_input_location (location_t *, struct bitpack_d *, class data_in *); > -location_t stream_input_location_now (struct bitpack_d *bp, > - class data_in *data); > tree lto_input_tree_ref (class lto_input_block *, class data_in *, > struct function *, enum LTO_tags); > void lto_tag_check_set (enum LTO_tags, int, ...); > --- gcc/lto-streamer-in.c.jj 2020-09-03 20:10:13.751993734 +0200 > +++ gcc/lto-streamer-in.c 2020-09-03 20:20:03.307432156 +0200 > @@ -351,19 +351,6 @@ lto_input_location (location_t *loc, str > data_in->location_cache.input_location (loc, bp, data_in); > } > > -/* Read location and return it instead of going through location caching. > - This should be used only when the resulting location is not going to be > - discarded. */ > - > -location_t > -stream_input_location_now (struct bitpack_d *bp, class data_in *data_in) > -{ > - location_t loc; > - stream_input_location (&loc, bp, data_in); > - data_in->location_cache.apply_location_cache (); > - return loc; > -} > - > /* Read a reference to a tree node from DATA_IN using input block IB. > TAG is the expected node that should be found in IB, if TAG belongs > to one of the indexable trees, expect to read a reference index to > @@ -527,8 +514,8 @@ input_eh_region (class lto_input_block * > r->type = ERT_MUST_NOT_THROW; > r->u.must_not_throw.failure_decl = stream_read_tree (ib, data_in); > bitpack_d bp = streamer_read_bitpack (ib); > - r->u.must_not_throw.failure_loc > - = stream_input_location_now (&bp, data_in); > + stream_input_location (&r->u.must_not_throw.failure_loc, > + &bp, data_in); > } > break; > > @@ -1059,8 +1046,8 @@ input_struct_function_base (struct funct > fn->last_clique = bp_unpack_value (&bp, sizeof (short) * 8); > > /* Input the function start and end loci. */ > - fn->function_start_locus = stream_input_location_now (&bp, data_in); > - fn->function_end_locus = stream_input_location_now (&bp, data_in); > + stream_input_location (&fn->function_start_locus, &bp, data_in); > + stream_input_location (&fn->function_end_locus, &bp, data_in); > > /* Restore the instance discriminators if present. */ > int instance_number = bp_unpack_value (&bp, 1); > > Jakub > > -- Richard Biener SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)