From patchwork Wed Oct 16 14:46:25 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcus Shawcroft X-Patchwork-Id: 283975 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 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id BB2E02C00CE for ; Thu, 17 Oct 2013 01:46:37 +1100 (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:subject:content-type; q= dns; s=default; b=dNGEQ3W/kcgxAgptScBDKTppZiCjVsGNNutHsX6CadVouS rEFNQaHPmQIYL1XWKpZv0vosqOYCYxGYWw7LG09IUZGVztS3FVCjUv9qiVAUS27L jD0zkvNZ3678ZvgP+y6G0GgDQhdGPUmvM3KIjczMdmH5w8d14CFCtHuWVpKm4= 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:subject:content-type; s= default; bh=CFlYtkCzWZ+OCOiiWr90fuTaoeM=; b=nNDYIBCf/Gis3f2AlpRl /KMVc75t8xCDzv/0d/sYthvB+v0IIlQsFhahMqhUACxoOVEYnltE/B7T/Sg90eHf /eJmY9IxQ7pml+w95bp+piiSMmZapet89WWXtWD+nKj4r5fDiGQNPXvNhhkPiNfw 0+Ktz0+a7X+Ry3N2PoVUNB4= Received: (qmail 15018 invoked by alias); 16 Oct 2013 14:46:30 -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 15009 invoked by uid 89); 16 Oct 2013 14:46:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from service87.mimecast.com (HELO service87.mimecast.com) (91.220.42.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 16 Oct 2013 14:46:30 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Wed, 16 Oct 2013 15:46:27 +0100 Received: from [10.1.207.140] ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.0); Wed, 16 Oct 2013 15:46:24 +0100 Message-ID: <525EA6C1.6050103@arm.com> Date: Wed, 16 Oct 2013 15:46:25 +0100 From: Marcus Shawcroft User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" Subject: [AArch64] Classify FRAME_POINTER_REGNUM and ARG_POINTER_REGNUM as POINTER_REGS. X-MC-Unique: 113101615462703001 The existing aarch64 implementation of REGNO_REGCLASS classifies the soft frame and arg registers as CORE_REGS. However either could be eliminated against FP or SP, in case of the latter CORE_REGS is too narrow. This patch changes the classification to POINTER_REGS a superset of CORE_REGS that includes SP. Regressed aarch64-none-elf, committed. /Marcus 2013-10-16 Marcus Shawcroft * config/aarch64/aarch64.c (aarch64_regno_regclass): Classify FRAME_POINTER_REGNUM and ARG_POINTER_REGNUM as POINTER_REGS. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index f6f587a..da3962f 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -3904,7 +3904,7 @@ aarch64_regno_regclass (unsigned regno) if (regno == FRAME_POINTER_REGNUM || regno == ARG_POINTER_REGNUM) - return CORE_REGS; + return POINTER_REGS; if (FP_REGNUM_P (regno)) return FP_LO_REGNUM_P (regno) ? FP_LO_REGS : FP_REGS;