From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23410 invoked by alias); 7 Jul 2011 16:19:07 -0000 Received: (qmail 23399 invoked by uid 22791); 7 Jul 2011 16:19:06 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 07 Jul 2011 16:18:44 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p67GIafN009273 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 7 Jul 2011 12:18:36 -0400 Received: from toll.yyz.redhat.com (toll.yyz.redhat.com [10.15.16.165]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p67GIZqp003170; Thu, 7 Jul 2011 12:18:36 -0400 Message-ID: <4E15DC5B.6010900@redhat.com> Date: Thu, 07 Jul 2011 16:28:00 -0000 From: Vladimir Makarov User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Thunderbird/3.1.10 MIME-Version: 1.0 To: Andrey Belevantsev CC: Bernd Schmidt , GCC Patches Subject: Re: Fix PR 49014 References: <4DDCBC02.7020002@ispras.ru> <4DDD1528.8060200@codesourcery.com> <4DDD2043.1080703@ispras.ru> <4DDD20CE.4000707@codesourcery.com> <4DDE5657.4000601@ispras.ru> <4E0DDEBA.5000804@ispras.ru> In-Reply-To: <4E0DDEBA.5000804@ispras.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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: 2011-07/txt/msg00515.txt.bz2 On 07/01/2011 10:50 AM, Andrey Belevantsev wrote: > On 26.05.2011 17:32, Andrey Belevantsev wrote: >> On 25.05.2011 19:31, Bernd Schmidt wrote: >>> On 05/25/2011 03:29 PM, Andrey Belevantsev wrote: >>>> I think the hook is a better idea than the attribute because nobody >>>> will >>>> care to mark all offending insns with an attribute. >>> >>> I don't know. IIRC when I looked at sh or whatever the broken port was, >>> it was only two insns - there would still be some value in being >>> able to >>> assert that all other insns have a reservation. >> OK, I will take a look on x86-64 and will get back with more >> information. >> >> Andrey > So, I have made an attempt to bootstrap on x86-64 with the extra > assert in selective scheduling that assumes the DFA state always > changes when issuing a recog_memoized >=0 insn (patch attached). > Indeed, there are just a few general insns that don't have proper > reservations. However, it was a surprise to me to see that almost any > insn with SSE registers fails this assert and thus does not get > properly scheduled. > > Overall, the work on fixing those seems doable, it took just a day to > get the compiler bootstrapped (of course, the testsuite may bring much > more issues). So, if there is an agreement on marking a few offending > insns with the new attribute, we can proceed with the help of somebody > from the x86 land on fixing those and researching for other targets. > The changes in sel-sched.c is ok for me. i386.md changes look ok for me too but you should ask a x86 maintainer to get an approval for the change. I think you should describe the attribute in the documentation because it is common for all targets. I can not approve common.opt changes because it makes selective scheduler is default for the 2nd insn scheduling for all targets. Such change should be justified by thorough testing and benchmarking (compilation speed, code size, performance improvements) on several platforms (at least on major ones).