From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74448 invoked by alias); 19 Aug 2019 22:22:04 -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 74440 invoked by uid 89); 19 Aug 2019 22:22:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:1406 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 19 Aug 2019 22:22:02 +0000 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BA918A38188; Mon, 19 Aug 2019 22:22:01 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-5.rdu2.redhat.com [10.10.112.5]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0F46E45AE; Mon, 19 Aug 2019 22:22:00 +0000 (UTC) Subject: Re: [13/13] Add a pass_by_reference flag to function_arg_info To: gcc-patches@gcc.gnu.org, richard.sandiford@arm.com References: From: Jeff Law Openpgp: preference=signencrypt Message-ID: Date: Mon, 19 Aug 2019 22:54:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2019-08/txt/msg01360.txt.bz2 On 8/19/19 9:24 AM, Richard Sandiford wrote: > This patch adds a flag that tells targets whether an argument > has been converted to pass-by-reference form. This replaces > assign_parm_data_one::passed_pointer in function.c. > > The flag is set automatically for places that call > apply_pass_by_reference_rules. Places that apply > pass-by-reference manually need to set it themselves. > > (After previous changes, no targets apply pass-by-reference > manually. They all go through apply_pass_by_reference_rules.) > > > 2019-08-19 Richard Sandiford > > gcc/ > * calls.h (function_arg_info): Add a pass_by_reference field, > defaulting to false. > * calls.c (apply_pass_by_reference_rules): Set pass_by_reference > when applying pass-by-reference semantics. > (initialize_argument_information): Likewise. > (emit_library_call_value_1): Likewise. > * function.c (assign_parm_data_one): Remove passed_pointer field. > (assign_parm_find_data_types): Don't set it. > (assign_parm_find_stack_rtl, assign_parm_adjust_stack_rtl) > (assign_parm_setup_reg, assign_parms, gimplify_parameters): Use > arg.pass_by_reference instead of passed_pointer. > OK. I think that's the whole series. I don't expect any problems, but my tester will pick testing across the various targets ~24hrs after you've committed the changes. jeff