From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28707 invoked by alias); 3 Dec 2003 14:03:46 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 28696 invoked from network); 3 Dec 2003 14:03:44 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 3 Dec 2003 14:03:44 -0000 Received: from redhat.com (vpn50-6.rdu.redhat.com [172.16.50.6]) by touchme.toronto.redhat.com (Postfix) with ESMTP id B92D180018E; Wed, 3 Dec 2003 09:03:42 -0500 (EST) Message-ID: <3FCDEE2C.19E04DE3@redhat.com> Date: Wed, 03 Dec 2003 14:03:00 -0000 From: "Vladimir N. Makarov" X-Accept-Language: en MIME-Version: 1.0 To: Ghassan Shobaki Cc: gcc-help@gcc.gnu.org, gcc@gnu.org Subject: Re: Superblock Instruction Scheduling in GCC References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2003-12/txt/msg00015.txt.bz2 Ghassan Shobaki wrote: > I know how to get gcc to form superblocks (by using the -ftracer > command-line switch), but is there a way to get it to use these > superblocks as scheduling regions in the instruction scheduling pass? > Currently, the instruction scheduling module forms regions that are totally > different from the superblocks that are formed in the tracer module > even though each superblock is a valid scheduling region. > Any idea how I can achieve this? Or are there any plans to do superblock > instruction scheduling in the near future? There was Jan Hubicka's patch for this. Please look at it http://gcc.gnu.org/ml/gcc-patches/2003-02/msg00499.html This patch should work for all platforms except for IA64 whose the second scheduling is made on EBB. I tried trace scheduling for IA64 (but I did not post the patch for ia64). Here the results are http://gcc.gnu.org/ml/gcc-patches/2003-02/msg00499.html The problem with trace scheduling is that the generated code is bigger, the compiler is slower and the code improvement is insignificant. If you manage to achieve an improvement for a platform on a credible benchmark (SPEC95, SPEC2000), we could consider to add the patch to gcc at least for given platform for -O3. Because the compiler changed since the patch was posted, there is a probability that you could achieve this. Vlad