From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8305 invoked by alias); 1 Aug 2003 20:33:06 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 8291 invoked from network); 1 Aug 2003 20:33:04 -0000 Received: from unknown (HELO mail.kloo.net) (63.192.214.25) by sources.redhat.com with SMTP; 1 Aug 2003 20:33:04 -0000 Received: by mail.kloo.net (Postfix, from userid 504) id 888E53B0308; Fri, 1 Aug 2003 13:22:02 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.kloo.net (Postfix) with ESMTP id 83F033B44E8; Fri, 1 Aug 2003 13:22:02 -0700 (PDT) Date: Fri, 01 Aug 2003 20:46:00 -0000 From: To: Jan Hoogerbrugge Cc: gcc@gcc.gnu.org Subject: Re: Transformations to increase parallelism (peepholes?) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2003-08/txt/msg00038.txt.bz2 On Wed, 23 Jul 2003, Jan Hoogerbrugge wrote: > >GCC really needs a pass to preprocess the instructions before sched1 to > >give the scheduler more scheduling freedom, especially on many-issue > >processors. > > > Would it be possible to do (some of) these transformations by means of > peepholes in the .md file? If so, could somebody tell me how a peephole > should look like for > > reg1 = reg2 + const1 > reg3 = reg1 + const2 > > to > > reg1 = reg2 + const1 > reg3 = reg2 + (const1 + const2) > > where const1 + const2 has to be within certain bounds. It tried to write a > peephole for this but without success. Who helps? > > Cheers, > Jan I was thinking about both this and my idea for a prescheduler to remove autodec/autoinc, and realized it's not a similar transformation; it's the same transformation. They are both transformations which reduce the height of a dependency tree by increasing the width to improve ILP opportunities. Are there good papers on this subject? Toshi