From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11990 invoked by alias); 1 Jun 2009 07:44:29 -0000 Received: (qmail 11980 invoked by uid 22791); 1 Jun 2009 07:44:28 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_63,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx2.redhat.com (HELO mx2.redhat.com) (66.187.237.31) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 01 Jun 2009 07:44:24 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n517iNdb004810; Mon, 1 Jun 2009 03:44:23 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n517iMZ5023187; Mon, 1 Jun 2009 03:44:22 -0400 Received: from freie.oliva.athome.lsd.ic.unicamp.br (sebastian-int.corp.redhat.com [172.16.52.221]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n517iLC9019362; Mon, 1 Jun 2009 03:44:21 -0400 Received: from free.oliva.athome.lsd.ic.unicamp.br (free.oliva.athome.lsd.ic.unicamp.br [172.31.160.1]) by freie.oliva.athome.lsd.ic.unicamp.br (8.14.3/8.14.3) with ESMTP id n517iKxB024997; Mon, 1 Jun 2009 04:44:20 -0300 Received: from free.oliva.athome.lsd.ic.unicamp.br (localhost [127.0.0.1]) by free.oliva.athome.lsd.ic.unicamp.br (8.14.3/8.14.3) with ESMTP id n517i2Tj005371; Mon, 1 Jun 2009 04:44:14 -0300 Received: (from aoliva@localhost) by free.oliva.athome.lsd.ic.unicamp.br (8.14.3/8.14.3/Submit) id n517i1uT005369; Mon, 1 Jun 2009 04:44:01 -0300 To: gcc-patches@gcc.gnu.org Subject: Re: [trunk<-vta] Re: [vtab] Permit coalescing of user variables References: <4702B1C0.80807@redhat.com> From: Alexandre Oliva Date: Mon, 01 Jun 2009 07:44:00 -0000 In-Reply-To: (Alexandre Oliva's message of "Mon\, 01 Jun 2009 04\:38\:46 -0300") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" 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 X-SW-Source: 2009-06/txt/msg00021.txt.bz2 --=-=-= Content-length: 786 On Jun 1, 2009, Alexandre Oliva wrote: > The patch below (ping) implements two other possibilities: refraining > from coalescing even inlined SSA names, which might enable better debug > information to be generated, and enabling coalescing of all related > variables, for better code at the expense of debug information. The > default remains unchanged. And the patch below changes the default so that we can optimize more. This will worsen debug information unless VTA is enabled by default, so I request a review and approval for inclusion only after VTA or something equivalent makes it to the trunk. Ok to install then? This was bootstrapped and regtested on x86_64-linux-gnu and i686-pc-linux-gnu, along with the other patches I'm pinging in this batch. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=gcc-ssa-coalesce-all-vars.patch Content-length: 1772 for gcc/ChangeLog from Alexandre Oliva * common.opt (ftree-coalesce-inlined-vars): Change default. * doc/invoke.texi: Document default change. Mention var-tracking-assignments. Index: gcc/common.opt =================================================================== --- gcc/common.opt.orig 2009-05-28 20:59:37.000000000 -0300 +++ gcc/common.opt 2009-05-28 21:01:15.000000000 -0300 @@ -1171,7 +1171,7 @@ Common Report Var(flag_tree_ch) Optimiza Enable loop header copying on trees ftree-coalesce-inlined-vars -Common Report Var(flag_ssa_coalesce_vars,1) Init(1) RejectNegative Optimization +Common Report Var(flag_ssa_coalesce_vars,1) Init(2) RejectNegative Optimization Permit SSA coalescing of inlined variables only ftree-coalesce-vars Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi.orig 2009-05-28 20:58:46.000000000 -0300 +++ gcc/doc/invoke.texi 2009-05-28 21:01:05.000000000 -0300 @@ -6473,11 +6473,12 @@ Permit the copyrename pass to subject in into other variables. This may harm debug information of such inlined variables, but it will keep variables of the main function apart from each other, such that they are more likely to contain the expected -values in a debugging session. This option is enabled by default. +values in a debugging session. @item -ftree-coalesce-vars Permit the copyrename pass to subject all variables to SSA coalescing. -This may severely limit the ability to debug a program. In the negated +This may severely limit the ability to debug an optimized program +compiled without @option{-fvar-tracking-assignments}. In the negated form, this flag prevents SSA coalescing of user variables, including inlined ones. --=-=-= Content-length: 258 -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist Red Hat Brazil Compiler Engineer --=-=-=--