From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77225 invoked by alias); 10 Jan 2019 13:21:35 -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 77216 invoked by uid 89); 10 Jan 2019 13:21:35 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=BAYES_00,KAM_MANYTO,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 spammy=Bernd, H*f:sk:DB7PR07, slippery, wdeprecated X-HELO: gate.crashing.org Received: from gate.crashing.org (HELO gate.crashing.org) (63.228.1.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 10 Jan 2019 13:21:33 +0000 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id x0ADLFTg017392; Thu, 10 Jan 2019 07:21:16 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id x0ADLCxb017386; Thu, 10 Jan 2019 07:21:12 -0600 Date: Thu, 10 Jan 2019 13:21:00 -0000 From: Segher Boessenkool To: Bernd Edlinger , Jakub Jelinek , Dimitar Dimitrov , Christophe Lyon , Thomas Preudhomme , "gcc-patches@gcc.gnu.org" , richard.sandiford@arm.com Subject: Re: [PATCH] [RFC] PR target/52813 and target/11807 Message-ID: <20190110132111.GZ14180@gate.crashing.org> References: <85840089.MtehzfUrTt@tpdeb> <20190107092337.GM30353@tucnak> <87lg3vicg5.fsf@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87lg3vicg5.fsf@arm.com> User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg00540.txt.bz2 Hi! On Tue, Jan 08, 2019 at 12:03:06PM +0000, Richard Sandiford wrote: > Bernd Edlinger writes: > > Meanwhile I found out, that the stack clobber has only been ignored up to > > gcc-5 (at least with lra targets, not really sure about reload targets). > > From gcc-6 on, with the exception of PR arm/77904 which was a regression due > > to the underlying lra change, but fixed later, and back-ported to gcc-6.3.0, > > this works for all targets I tried so far. > > > > To me, it starts to look like a rather unique and useful feature, that I would > > like to keep working. > > Not sure what you mean by "unique". But forcing a frame is a bit of > a slippery concept. Force it where? For the asm only, or the whole > function? This depends on optimisation and hasn't been consistent > across GCC versions, since it depends on the shrink-wrapping > optimisation. (There was a similar controversy a while ago about > to what extent -fno-omit-frame-pointer should "force a frame".) It's not forcing a frame currently: it's just setting frame_pointer_needed. Whatever happens from that is the target's business. > The effect on the redzone seems like something that should be specified > explicitly rather than as an (accidental?) side effect of listing the > sp in the clobber list. Maybe this would be another use for the "asm > attributes" proposal. "noreturn" was another attribute suggested on > IRC yesterday. Redzone is target-dependent. "noreturn"... What would that mean, *exactly*? It cannot execute any code the compiler can see, so such asm is better off as real asm anyway (not inline asm). > But either way, the general feeling seems to be that going straight to a > hard error is too harsh, since there's quite a bit of existing code that > has the clobber. This patch implements the compromise discussed on IRC > yesterday of making it a -Wdeprecated warning instead. The patch looks fine to me. Thanks! Segher