From patchwork Thu Jun 19 12:26:30 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 361852 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 0CB63140080 for ; Thu, 19 Jun 2014 22:26:48 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; q=dns; s=default; b=d0cPESk4gtvBOOMi0 t9ALwPjIU0weQZhAwOUuCykW5o0bvNNXC/xXLPg8B+smqXHngI6rpMbdZhoGmzsV gHrXrpslRnDsKhov5vVQwI7VTOBWFfqwevAi+lZXq2+9Q5/TIr5FKLr+GUE4VXko GiLrR18i4/x8JjFVAgTFFC14xA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; s=default; bh=AVGf9prmxQIENhwCcF7ddA2 LqWA=; b=rXdVKOl1tuNir7w0EravOdKIIiIAwsERS2iiVSiJCgYxMl5g8+53QCX JsoUK71J1ZH5ei3VrrPR9F0B5oSPDQpGOUJ/0oHrm3JRxeXFGdLxdBCkxdRw+BCM wMiR/tmRuYmK0QZYdoUA/CMKd0uFEs47G6DvpzhhQSJnLC9SY5Gg= Received: (qmail 20137 invoked by alias); 19 Jun 2014 12:26:42 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 20126 invoked by uid 89); 19 Jun 2014 12:26:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 19 Jun 2014 12:26:40 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1WxbQJ-00007E-HJ from Tom_deVries@mentor.com ; Thu, 19 Jun 2014 05:26:35 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Thu, 19 Jun 2014 05:26:35 -0700 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.2.247.3; Thu, 19 Jun 2014 13:26:33 +0100 Message-ID: <53A2D6F6.5020500@mentor.com> Date: Thu, 19 Jun 2014 14:26:30 +0200 From: Tom de Vries User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Richard Henderson CC: Richard Earnshaw , GCC Patches Subject: Re: [PATCH, AARCH64] Enable fuse-caller-save for AARCH64 References: <538AF9C7.7040408@mentor.com> <53A25742.4060309@redhat.com> In-Reply-To: <53A25742.4060309@redhat.com> On 19-06-14 05:21, Richard Henderson wrote: > On 06/01/2014 03:00 AM, Tom de Vries wrote: >> +/* Emit call insn with PAT and do aarch64-specific handling. */ >> + >> +bool >> +aarch64_emit_call_insn (rtx pat) >> +{ >> + rtx insn = emit_call_insn (pat); >> + >> + rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn); >> + clobber_reg (fusage, gen_rtx_REG (word_mode, IP0_REGNUM)); >> + clobber_reg (fusage, gen_rtx_REG (word_mode, IP1_REGNUM)); >> +} >> + > > Which can't have been bootstrapped, since this has no return stmt. > Why the bool return type anyway? Nothing appears to use it. > Richard, Indeed, the return type should be void, this patch fixes that. I have no setup to bootstrap this on aarch64. I've build an aarch64 compiler and ran the gcc.target/aarch64/fuse-caller-save.c testcase. Committed as obvious. Thanks, - Tom 2014-06-19 Tom de Vries * config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change return type to void. * config/aarch64/aarch64.c (aarch64_emit_call_insn): Same. diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index 213c8dc..53023ba 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -245,7 +245,7 @@ void aarch64_init_cumulative_args (CUMULATIVE_ARGS *, const_tree, rtx, void aarch64_init_expanders (void); void aarch64_print_operand (FILE *, rtx, char); void aarch64_print_operand_address (FILE *, rtx); -bool aarch64_emit_call_insn (rtx); +void aarch64_emit_call_insn (rtx); /* Initialize builtins for SIMD intrinsics. */ void init_aarch64_simd_builtins (void); diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index b2d005b..f0aafbd 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -3395,7 +3395,7 @@ aarch64_fixed_condition_code_regs (unsigned int *p1, unsigned int *p2) /* Emit call insn with PAT and do aarch64-specific handling. */ -bool +void aarch64_emit_call_insn (rtx pat) { rtx insn = emit_call_insn (pat); -- 1.9.1