From patchwork Wed Apr 16 07:46:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joey Ye X-Patchwork-Id: 339450 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 0189B14008E for ; Wed, 16 Apr 2014 17:46:45 +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:references:in-reply-to:subject:date:message-id :mime-version:content-type:content-transfer-encoding; q=dns; s= default; b=Pj9hbMslFJnTe7+NdqB0p4wAhPynwHExEAxS/Nycbdnw8xN28WtHb uZ2Zj/DYaLLOaLnqEOVvjJjWVJppScOl8fukMrTq2MUVtz61luYRjJ3pbKNvWQpn DKr7Ysj5PF10wHvNDD0AQ5gUELTmwhBsTQOWj9a4o30bIQHHYdiEQM= 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:references:in-reply-to:subject:date:message-id :mime-version:content-type:content-transfer-encoding; s=default; bh=H+KfnzMIOCVsDeQlLtTpKw5O0Yo=; b=W6M+WwuVoWhL1bgX1RhHzRS7EhqP NH84fFwtdTnbeAO39IMSb4vQKQEzfLu4iieOSRFj+j7BNfr+1tuGKqQXH9XnoPkN izBhmzJN3Iq3oZns8ONwV2iHKalp/vKkmdO8FT9UzbxuXJfCSmlm0t3EQpL9mgcu 0gQyy80PY2dsioQ= Received: (qmail 28515 invoked by alias); 16 Apr 2014 07:46:39 -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 28505 invoked by uid 89); 16 Apr 2014 07:46:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 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 Apr 2014 07:46:36 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Wed, 16 Apr 2014 08:46:33 +0100 Received: from SHAWIN205 ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 16 Apr 2014 08:46:47 +0100 From: "Joey Ye" To: "'Richard Biener'" Cc: "'GCC Patches'" References: <000001cf584e$66102060$32306120$@arm.com> In-Reply-To: Subject: RE: [patch] Disable if_conversion2 for Og Date: Wed, 16 Apr 2014 15:46:44 +0800 Message-ID: <000301cf5948$05399190$0facb4b0$@arm.com> MIME-Version: 1.0 X-MC-Unique: 114041608463310801 > -----Original Message----- > From: Joey Ye [mailto:joey.ye@arm.com] > Sent: Tuesday, April 15, 2014 6:37 PM > To: 'Richard Biener' > Cc: GCC Patches > Subject: RE: [patch] Disable if_conversion2 for Og > > > Ok for trunk and branches after a while. Why does if-conversion not have > > the same problem? On the GIMPLE part we avoid all kinds of if-conversion > > with -Og. > I think if-conversion should be disabled for Og too, but I don't have a case to > show that it is harmful. If GIMPLE avoids all if-conversion, it is nature to do > the same for RTL. I'll test and send another patch to also disable if-conversion. New patch tested with more regressions with -Og, which are expected. FAIL: gcc.target/arm/its.c scan-assembler-times \\tit 2 FAIL: gcc.target/arm/pr40956.c scan-assembler-times mov[\\\\t ]*r., #0 1 FAIL: gcc.target/arm/pr42835.c scan-assembler-times moveq[\\\\t ]*r.,[\\\\t ]*# 1 FAIL: gcc.target/arm/pr42835.c scan-assembler-times movne[\\\\t ]*r.,[\\\\t ]*# 1 FAIL: gcc.target/arm/shiftable.c scan-assembler sub.*[al]sl #6 FAIL: gcc.target/arm/thumb-ifcvt-2.c scan-assembler asreq FAIL: gcc.target/arm/thumb-ifcvt-2.c scan-assembler lslne FAIL: gcc.target/arm/thumb-ifcvt.c scan-assembler asrne FAIL: gcc.target/arm/thumb-ifcvt.c scan-assembler lslne FAIL: gcc.target/arm/vseleqdf.c scan-assembler-times vseleq.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vseleqsf.c scan-assembler-times vseleq.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselgedf.c scan-assembler-times vselge.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vselgesf.c scan-assembler-times vselge.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselgtdf.c scan-assembler-times vselgt.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vselgtsf.c scan-assembler-times vselgt.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselledf.c scan-assembler-times vselgt.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vsellesf.c scan-assembler-times vselgt.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselltdf.c scan-assembler-times vselge.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vselltsf.c scan-assembler-times vselge.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselnedf.c scan-assembler-times vseleq.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vselnesf.c scan-assembler-times vseleq.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselvcdf.c scan-assembler-times vselvs.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vselvcsf.c scan-assembler-times vselvs.f32\\ts[0-9]+ 1 FAIL: gcc.target/arm/vselvsdf.c scan-assembler-times vselvs.f64\\td[0-9]+ 1 FAIL: gcc.target/arm/vselvssf.c scan-assembler-times vselvs.f32\\ts[0-9]+ 1 OK? ChangeLog: * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og. diff --git a/gcc/opts.c b/gcc/opts.c index fdc903f..3f3db1a 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -431,8 +431,8 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_1_PLUS, OPT_fguess_branch_probability, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_fcprop_registers, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_fforward_propagate, NULL, 1 }, - { OPT_LEVELS_1_PLUS, OPT_fif_conversion, NULL, 1 }, - { OPT_LEVELS_1_PLUS, OPT_fif_conversion2, NULL, 1 }, + { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fif_conversion, NULL, 1 }, + { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fif_conversion2, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_fipa_pure_const, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_fipa_reference, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_fipa_profile, NULL, 1 },