From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp002.apm-internet.net (smtp002.apm-internet.net [85.119.248.221]) by sourceware.org (Postfix) with ESMTPS id 69AB13858421 for ; Fri, 21 Jan 2022 11:19:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 69AB13858421 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sandoe.co.uk Authentication-Results: sourceware.org; spf=none smtp.mailfrom=sandoe.co.uk Received: (qmail 30704 invoked from network); 21 Jan 2022 11:19:45 -0000 X-APM-Out-ID: 16427639853070 X-APM-Authkey: 257869/1(257869/1) 3 Received: from unknown (HELO ?192.168.1.214?) (81.138.1.83) by smtp002.apm-internet.net with SMTP; 21 Jan 2022 11:19:45 -0000 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: Help with an ABI peculiarity From: Iain Sandoe In-Reply-To: Date: Fri, 21 Jan 2022 11:19:45 +0000 Cc: GCC Development , Maxim Blinov Content-Transfer-Encoding: quoted-printable Message-Id: <245C81F6-E1D1-4868-9E88-2270B7985E5E@sandoe.co.uk> References: To: Richard Sandiford X-Mailer: Apple Mail (2.3445.104.21) X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00, KAM_COUK, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jan 2022 11:19:49 -0000 Hi Richard, > On 20 Jan 2022, at 22:32, Richard Sandiford = wrote: >=20 > Iain Sandoe writes: >>> On 10 Jan 2022, at 10:46, Richard Sandiford = wrot>> An alternative might be to make = promote_function_arg a =E2=80=9Cproper=E2=80=9D >>> ABI hook, taking a cumulative_args_t and a function_arg_info. >>> Perhaps the return case should become a separate hook at the >>> same time. >>>=20 >>> That would probably require more extensive changes than just >>> updating the call sites, and I haven't really checked how much >>> work it would be, but hopefully it wouldn't be too bad. >>>=20 >>> The new hook would still be called before function_arg, but that >>> should no longer be a problem, since the new hook arguments would >>> give the target the information it needs to decide whether the >>> argument is passed in registers. >>=20 >> Yeah, this was my next port of call (I have looked at it ~10 times = and then >> decided =E2=80=9Cnot today, maybe there=E2=80=99s a simpler way=E2=80=9D= ). =E2=80=A6 and I did not have a chance to look at this in the meantime = =E2=80=A6 > BTW, finally catching up on old email, I see this is essentially also > the approach that Maxim was taking with the = TARGET_FUNCTION_ARG_BOUNDARY > patches. What's the situation with those?=20 I have the patches plus amendments to make use of their new = functionality on the development branch, which is actually in pretty good shape (not much = difference in testsuite results from other Darwin sub-ports). Maxim and I need to discuss amending the TARGET_FUNCTION_ARG_BOUNDARY changes to account for Richard (B)=E2=80=99s comments. Likewise, I need to tweak the support for heap allocation of nested = function trampolines to account for review comments. As always, it=E2=80=99s a question of fitting everything in=E2=80=A6 thanks Iain