From patchwork Thu Aug 29 03:18:08 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Cheng X-Patchwork-Id: 270685 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 CN "www.sourceware.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 6ABE22C00BD for ; Thu, 29 Aug 2013 13:18:35 +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:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=m2FmOI36eGZgso8RbFyTETHWtNqhDOsRQa/17yvTon55/QWZXI TB1qCli48uV+qHYyS9xGYuTPZnBhaoLaPrX/3hVrVci4FkqZxLa2wpIWNCMrG23m f7A/S6E4of4mUNPy4uHbT+CPCIUIXphD8/af3wjYEtfEtl+JphtACX4JQ= 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:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=jGHpecHsV+WbIfg5ZJSou4y3WMQ=; b=jrNNvsaQrYISRZkPCSqO FWtz3TgN6t0anw2e82Urs5IlmFfAhChjwydO+jOhCv0UbwLUxuVEhW79qdvG3I+V wJx7cyvVz7dI7Dm1oHb7beqTOMORch8VOiR/4pwqKgOwRsBPs2g2BJl2H3kocUFs PMPoFdujXis6rdp0ja159UU= Received: (qmail 26235 invoked by alias); 29 Aug 2013 03:18:28 -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 26225 invoked by uid 89); 29 Aug 2013 03:18:27 -0000 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; Thu, 29 Aug 2013 03:18:27 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_NO, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-HELO: service87.mimecast.com Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Thu, 29 Aug 2013 04:18:23 +0100 Received: from SHAWIN162 ([10.1.255.212]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.0); Thu, 29 Aug 2013 04:18:20 +0100 From: "bin.cheng" To: Cc: "Joey Ye" , "Zhenqiang Chen" Subject: [PATCH ARM/Embedded-4_8-branch]disable rtl loop invariant when optimizing for size Date: Thu, 29 Aug 2013 11:18:08 +0800 Message-ID: <003801cea466$65659a60$3030cf20$@arm.com> MIME-Version: 1.0 X-MC-Unique: 113082904182300201 Hi, The attached patch disables rtl loop invariant when optimizing for code size. Committed to ARM/Embedded-4_8-branch as r202067. Thanks. bin 2013-08-29 Zhenqiang Chen * config/arm/arm.c (arm_option_override): Disable loop2_invariant pass when optimize_size and ira-loop-pressure is not enabled. Index: gcc/ChangeLog.arm =================================================================== --- gcc/ChangeLog.arm (revision 202066) +++ gcc/ChangeLog.arm (revision 202067) @@ -1,3 +1,8 @@ +2013-08-29 Zhenqiang Chen + + * config/arm/arm.c (arm_option_override): Disable loop2_invariant + pass when optimize_size and ira-loop-pressure is not enabled. + 2013-08-05 Terry Guo Backport from mainline r197956 Index: gcc/config/arm/arm.c =================================================================== --- gcc/config/arm/arm.c (revision 202066) +++ gcc/config/arm/arm.c (revision 202067) @@ -2134,6 +2134,13 @@ global_options.x_param_values, global_options_set.x_param_values); + /* Do not move invariants out of loops since it tends to increase register + pressure. The heuristic to estimate register pressure does not fit for + ARM. -fira-loop-pressure tends to get more precise estimation. But it + still need more tuning. */ + if (optimize_function_for_size_p (cfun) && !flag_ira_loop_pressure) + flag_move_loop_invariants = 0; + /* Register global variables with the garbage collector. */ arm_add_gc_roots (); }