From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15841 invoked by alias); 30 Mar 2012 15:46:06 -0000 Received: (qmail 15833 invoked by uid 22791); 30 Mar 2012 15:46:03 -0000 X-SWARE-Spam-Status: No, hits=-3.4 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,TW_CP,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 30 Mar 2012 15:45:39 +0000 Received: by nikam.ms.mff.cuni.cz (Postfix, from userid 16202) id A58E19AC8A5; Fri, 30 Mar 2012 17:45:37 +0200 (CEST) Date: Fri, 30 Mar 2012 15:46:00 -0000 From: Jan Hubicka To: Richard Guenther Cc: Jan Hubicka , Richard Henderson , Stephan Bergmann , gcc@gcc.gnu.org Subject: Re: C++: Letting compiler know asm block can call function that can throw? Message-ID: <20120330154537.GB1340@kam.mff.cuni.cz> References: <4F7409B9.2010407@redhat.com> <4F748A47.4070306@redhat.com> <20120329171639.GD18490@atrey.karlin.mff.cuni.cz> <4F74AB1F.2020607@redhat.com> <20120330122106.GE8468@kam.mff.cuni.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2012-03/txt/msg00545.txt.bz2 > > Motion across hardreg sets/uses are not restricted. And I would not expect > an optimizing compiler to do that (it's your own fault to use hardregs in > complex C code). Well, the syscall sequence is an example of somehting that should be inlined into arbitrary code w/o potential risk of ICEs. But I guess if things works in practice (as they seem), we don't need to worry much at the moment. Most of code movement we do is very simple. I don't see how to convince GCC to move memcpy or division into the middle of a basic block containing the libcall sequence.... Even when the basic block can be broken up with -fno-call-exceptions at the asm statement by an EH edge... Honza > > Richard.