From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 89252 invoked by alias); 7 Nov 2017 17:11:52 -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 89242 invoked by uid 89); 7 Nov 2017 17:11:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0045.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 07 Nov 2017 17:11:50 +0000 Received: from DB5PR08CA0043.eurprd08.prod.outlook.com (2a01:111:e400:c576::11) by DB3PR08MB0140.eurprd08.prod.outlook.com (2a01:111:e400:5047::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.218.12; Tue, 7 Nov 2017 17:11:46 +0000 Received: from DB5EUR03FT015.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::203) by DB5PR08CA0043.outlook.office365.com (2a01:111:e400:c576::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.218.12 via Frontend Transport; Tue, 7 Nov 2017 17:11:46 +0000 Authentication-Results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 217.140.96.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.140.96.140; helo=nebula.arm.com; Received: from nebula.arm.com (217.140.96.140) by DB5EUR03FT015.mail.protection.outlook.com (10.152.20.145) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.197.9 via Frontend Transport; Tue, 7 Nov 2017 17:11:46 +0000 Received: from arm.com (10.1.2.79) by mail.arm.com (10.1.106.66) with Microsoft SMTP Server id 14.3.294.0; Tue, 7 Nov 2017 17:11:27 +0000 Date: Tue, 07 Nov 2017 17:27:00 -0000 From: James Greenhalgh To: Wilco Dijkstra CC: GCC Patches , nd , Richard Earnshaw Subject: Re: [PATCH][AArch64] Simplify aarch64_can_eliminate Message-ID: <20171107171127.GB30919@arm.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140;IPV:CAL;SCL:-1;CTRY:GB;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(39860400002)(2980300002)(438002)(189002)(24454002)(54534003)(377424004)(199003)(50466002)(72206003)(23756003)(47776003)(2870700001)(33656002)(6636002)(104016004)(478600001)(305945005)(229853002)(189998001)(26826003)(76176999)(77096006)(54356999)(50986999)(106466001)(58126008)(8936002)(37006003)(36756003)(316002)(6862004)(4326008)(356003)(53546010)(246002)(8676002)(54906003)(7696004)(55016002)(86362001)(1076002)(83506002)(5660300001)(15760500003)(2950100002)(6246003)(106002)(2906002)(6286002)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB3PR08MB0140;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB5EUR03FT015;1:V4Q8ecRl5MxdZaUOUGv43GHRPksIu+gi3G4D9q5mViwKpqTyrYVY3mL5pEcDpn8+KgfkxZFBNH++Mvjs8lACcySCuzM5H2Fat2dL3kGdE8KJ/sx6aB7COAzNcs6BRJSv X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc4eb64d-9453-4408-ea5e-08d52602a058 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199);SRVR:DB3PR08MB0140; X-Microsoft-Exchange-Diagnostics: 1;DB3PR08MB0140;3:LJ8CXOqolRCC1D1RKROqUuVhEh0ZI6ESV+4tQ9VBWygaKk5agtpzEL47adUAG1OBwsTvjkpzEjSsJ+tBoSM2s+D3rELUcFMQxlsB1z0oJ/Q5TnIHV4EJffirCghXT4bOxBQIVcKhz1OI28o9O1bcF3dCwQwpWLc5H+n/aSsbW4w/xQNAyGVkCO6WxRh5L4TRLnTrm5Wa0hV8ZnxpQTLnlTlq7tXmImgtGgUx6Uc8P04ZgjyImSAN2yUcoB+OPRP6VwGEnKL7fq6Bhq/WFZYl++p2aQdjx4cpxZ5jsweCuOjc+cdRS0HTLvK9twfzbROUMH3axkm39GtOHxhZPT3XIVqy0+wg/06naCMJD6h8DHg=;25:AoSzJg4Gv4m+nQ9N1K9lm2DOTDxsaQcx2hQ35IR7RDCAOv3PFdnk3vUpml+/H1LrWZTp5J/ictemwz4OK2eiU8WYPVWfBY6RNBXNNcJNwsgD5BC1ONQ9j+j84OeVZOST8h6i/WPYjHk8Ml7tdEaYkyzUUSYHOF2h86PkjZaiCGvCGoBPIaSnam11/MQTNlW3dFCy6/ftlhuk0dcZ1zS4IC5W+PoN2K7zRuY6bkJRNYg+797Kvs/dbSpptGskAnWOXpLyUsFsFLiXlhbGxafmF6YRw1ZV3rl1fgrFp3dRAIp4sxDwff6gyCzzeRAWxws/hg0Uss0SF9ICxswMWhc18w== X-MS-TrafficTypeDiagnostic: DB3PR08MB0140: X-Microsoft-Exchange-Diagnostics: 1;DB3PR08MB0140;31:SEOBkefANMDlQVol87pZoAnTM99bcIqV1b03MOwHGTz2InL2LR7QXkXSEXjy3WR4iO05RGbobJgsOSAdn5Pe9mW7As4Sw8Ew7zTKzdStVkMq+O1x1XkhkDFB6X49RxvHxztT32ecjphg58tPN9TDqVvvvVLUhDnQPcF+ml/Yi41wjCqmmBV3zjygcORc1ZIqhc9qdCp5888mgGpcCCIrrG14qacw7xVWVFa08s+puVM=;20:2yzYfpfRn8WoF4042IZOMcSfRpNyLx0Na5JwoYaq/79/SEAWdS9b3diYMyLE0xr1vyDK7+619AxCLXDA2yQ3y6aYHkF+JVu7bQyCNkCvELq06RYBJwYjTVBA0HO23SC3blWWf0Ga8hx+U6kskJigwvIVUwS+KP17amQ0vmTP0HyA9Oek1KVIcZMXse4Efss8u7Xg9kKmR7dFMUrPwhzWQm0QDCOC5e2LFKbg0zN7SJ33QsCg/JUBESlQBbSA8vVB;4:BUKajPIsIydzXfl4Rcsdnn5lI+ngFL9yWECbsynRe1V3jKrAFRzOQetNhM4S09C1u4CbNGvLxrUFdxBtDQQRW4h+zyD3G7tsKorqzcDSiGtX0bnrPl+8DhAMY8qa5IBQXxhiPugHEnGlVIopy6H/5WaiLKbpcDM9E66YXa5a83mpWzvdLUESje0AeAqf2QbUFZREHB2gwdJrl/L6qbp7cb70a2E1MO3/cLC1gFPa5HVw6o6kiqkXrAlPst5AhDrKQX8+Oi4XIRpkKrHjuXuiPUaTbqF35HTYWyZseNNc8yrv4rl62fuhHxVSnlAGSjBB NoDisclaimer: True X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93004095)(3231021)(6055026)(2017110403001)(6041248)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DB3PR08MB0140;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB3PR08MB0140; X-Forefront-PRVS: 0484063412 X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;DB3PR08MB0140;23:YESITpFF60iRXZ7MEUc2ORgK0xVAW73+Ludi5FV?= =?iso-8859-1?Q?60LT0/oGNH+6zRJacDa25T42Ouevm2v+qoX+qXNb92masZUTlG3rbz0ndy?= =?iso-8859-1?Q?fDxcsabccQq4PzjNu7bxMh1UX3u/TLK4vvsCZYHuW/7GznJDPQd+/pvjMn?= =?iso-8859-1?Q?ctQu5BTeVXj8EyJLrtbjr+FJmvN8hiRhqYt/q37DiJnGy47hjxCm7QlqzR?= =?iso-8859-1?Q?Wdjxet3p7lVBulxPvctJEzhA++eh7nAgWTVvNHVq8QpyNvFjE/rm2IiuXI?= =?iso-8859-1?Q?33lfS8dCekIizwoJX7vkYWYnUB8iTFGdtwYaixPqjJ9fw7xyUVNM1Td9K8?= =?iso-8859-1?Q?50nA0/Pjh0k0N6hPLY71vCHIYhKOF5xsoOeOum9Xm4DTl9GhoVTRnKgkQR?= =?iso-8859-1?Q?SUEQsZBWVbZQK4AwDNZq5+T59QN8BG1oU8rhMSVBi6OT5/CrCkykFZwsur?= =?iso-8859-1?Q?tcOlZXXpHyyd3AZszqLUoyICkgGz6H3X5I4qbAyHPftJqjYIcqy/WeDsEv?= =?iso-8859-1?Q?UtX0OcSVjEECmaaA1TbJTuCaVCBIJBLUeoDgN8de/quICJN1RrZOlGbQlx?= =?iso-8859-1?Q?ANWLiJZE5hllwr16oamzfTRjkKqZP2sYwEl3T1Dr4/BGwu25mIk4uzwwAy?= =?iso-8859-1?Q?rflMv49CyTfq0VuUUWe1X1Xv06JNt0YTiWuqeCz7d/Lv8Yy1Phf09gmiZD?= =?iso-8859-1?Q?waKG1vWrt07H0Y7UENhYrgdfauaNanMm7AdDtwq2qq63eMuCKXTguKAAyo?= =?iso-8859-1?Q?ANBuhQ8oImpZNp5Hrgm2FKguebDzil44WnlmQIKsjPqHd5hi/LadEQLAe4?= =?iso-8859-1?Q?pF+a6or0YKo3dIcVSWq0OSo44YBoKiApzuiu5/QNL6bXag+qbY+CaktFVY?= =?iso-8859-1?Q?M+7HpZOQTCreEiP/B/Q/Sn1J0GYjfEAo47gZC/wrAVCNdB0sybf48xBlKI?= =?iso-8859-1?Q?sBFHglh1ISi+Rp6CgjiVzWfxMH6r4WP8ld2cvgM/m2AsC8FweLoEFry6i5?= =?iso-8859-1?Q?/Mx1m44y50rF1TadlXtQttMHnYE+etxeO3tdeRhyhrQskgCb2PWshUYziL?= =?iso-8859-1?Q?daBPEU/f9fQ1UcXyFpWBax3xaLd3J5rp0WIsNRtpE+aox7ic6CnyoPv35Q?= =?iso-8859-1?Q?b70XWGk79ne8U5Q+j9Dkw2qYF/X2N79dfB4e+XsvbIAbqOgdi9n1A/DIJd?= =?iso-8859-1?Q?6p6s1s/iVGUZyPplpnw05+OoJt/ulOCn5xxI7GTpYrZsnX7RxVmTaZMdel?= =?iso-8859-1?Q?+T2Clx8w8Xs8kkcg5soQenOS0qyRFI1bbP+2Y5ZM/POdRyZAd5NNAP1Pjp?= =?iso-8859-1?Q?eI=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB3PR08MB0140;6:Uj2zOBcAmVcLkmwhNbKpmaA5fGARB+r6pi4sytGC9Krc+SCxH3ue1rqQoWlkhR6oCCk9/erWyHKKr9UJcICUS+Un8X/8IteUWwgHiPD9EGC/RG0/f7hYY3X78yZicACbx+hnioqcMcR4fUGeFA3V8A/lZK/Wdx9R7V7sneqvWYJYJ8trLY/Oo8OT/GeZ74s45+laxn2UGDYHIT6TdFm3kyFQpptSIcMZSHzKI6cLem42erHhcz7CJSnt+DK9b5V8sLIZDRZL70o/sCwz1fkYpRb/Sn0GPDlMAu7qe5tz0HshEOdv1OMu3D0ZQg+JYmhl6ULHR0Rjy9Yz5wEPXwAKUbqYPLYnz6L9Hyc0Im+LyVg=;5:O4xPMGxgjmhUboXLqYnOMFfMMWuHOXw6eqgWbusRCTHP0Pp5ysy2EnvkIQ4JfVggDHT7NcEi18fxlTT65UwJWdcY5brCSo2NQyP/bKWibox9MpVRZ1gMlXLlc3koEd/JNEgQQXI5kweImwRJS/cPVsh5Dx2cEjyMRmWbhZISIKU=;24:IZRQQFm8Wl82ihlh24e1E0ep8a1bDRKZwPCVHntD+NiEnnDLMj7IIQmLmydtuYB61Y53C6AIDaF698QJnmzmEe7xy2wqfrpUJYZMH2qojmI=;7:riYITE8dJX3J4sMc8CqY8T70BPFXH9Xo15P/RrhqCk/iX7IQG1D9OVeWH/qGpjT+tPr9NgKP0zsFrGndKfTU1qSEFWU76cofKcMaEyHRctYdwzI0i70l5iwo+L3eqQwUaCdQyDoUKj6q9EtLKMIvMt0wh9+tcepyCNlnagfaNdcIHqDFOK3W3jVFetzmDaH0gFJcNCh0Roo3EwzyNz5g/Lm1iEzDKRcItko5pkkgz8G4IkLx/4XfXnT0/5sfit2A SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2017 17:11:46.2264 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dc4eb64d-9453-4408-ea5e-08d52602a058 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[217.140.96.140];Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB0140 X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00509.txt.bz2 On Tue, Aug 15, 2017 at 05:25:06PM +0100, Wilco Dijkstra wrote: > > ping > > > From: Wilco Dijkstra > Sent: 07 August 2017 15:13 > To: GCC Patches; James Greenhalgh > Cc: nd; Richard Earnshaw > Subject: [PATCH][AArch64] Simplify aarch64_can_eliminate >   > Simplify aarch64_can_eliminate - if we need a frame pointer, we must > eliminate to HARD_FRAME_POINTER_REGNUM.  Rather than hardcoding all > combinations from the ELIMINABLE_REGS list, just do the correct check. > > ChangeLog: > 2017-08-07  Wilco Dijkstra  > >     gcc/ >         * config/aarch64/aarch64.c (aarch64_can_eliminate): Simplify logic. > -- > > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > index 9463edf63ffe770062b4120fada090e20c93a269..fbb4244cb58d2a25203aa27342c2f7988c30bd98 100644 > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -5858,26 +5858,12 @@ aarch64_secondary_reload (bool in_p ATTRIBUTE_UNUSED, rtx x, >  } >   >  static bool > -aarch64_can_eliminate (const int from, const int to) > +aarch64_can_eliminate (const int from ATTRIBUTE_UNUSED, const int to) >  { > -  /* If we need a frame pointer, we must eliminate FRAME_POINTER_REGNUM into > -     HARD_FRAME_POINTER_REGNUM and not into STACK_POINTER_REGNUM.  */ > - > +  /* If we need a frame pointer, ARG_POINTER_REGNUM and FRAME_POINTER_REGNUM > +     can only eliminate to HARD_FRAME_POINTER_REGNUM.  */ Please add an assert in here, (from == ARG_POINTER_REGNUM || from == FRAME_POINTER_REGNUM) Otherwise, OK (please test this against a recent trunk). Reviewed-By: James Greenhalgh Thanks, James >    if (frame_pointer_needed) > -    { > -      if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) > -       return true; > -      if (from == ARG_POINTER_REGNUM && to == STACK_POINTER_REGNUM) > -       return false; > -      if (from == FRAME_POINTER_REGNUM && to == STACK_POINTER_REGNUM > -         && !cfun->calls_alloca) > -       return true; > -      if (from == FRAME_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) > -       return true; > - > -      return false; > -    } > - > +    return to == HARD_FRAME_POINTER_REGNUM; >    return true; >  }