From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2309 invoked by alias); 6 Dec 2004 12:30:05 -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 2241 invoked from network); 6 Dec 2004 12:29:59 -0000 Received: from unknown (HELO mail.codesourcery.com) (65.74.133.9) by sourceware.org with SMTP; 6 Dec 2004 12:29:59 -0000 Received: (qmail 10646 invoked from network); 6 Dec 2004 12:29:58 -0000 Received: from localhost (HELO ?192.168.189.167?) (nathan@127.0.0.1) by mail.codesourcery.com with SMTP; 6 Dec 2004 12:29:58 -0000 Message-ID: <41B450BF.2090707@codesourcery.com> Date: Mon, 06 Dec 2004 12:30:00 -0000 From: Nathan Sidwell Organization: Codesourcery LLC User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913 MIME-Version: 1.0 To: Daniel Towner CC: gcc@gcc.gnu.org Subject: Re: Incorrect DFA scheduling of output dependency. References: <41B442B7.9020408@picochip.com> In-Reply-To: <41B442B7.9020408@picochip.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-12/txt/msg00242.txt.bz2 Daniel, > I am using the DFA scheduler to implement VLIW scheduling for a 16-bit > DSP. Recently I have come across an apparent bug in the scheduler. > Consider the following sequence of instructions, with DFA scheduling > turned off: > > Now the DFA scheduler has grouped the four instructions into two VLIW > packets. However, the first of these packets contains an instruction > which writes to R3, and which reads from R3. Thus, the wrong value of R3 > is shifted into R5. It appears that the output dependency of the initial > instruction is not being respected? something is wrong with your scheduler description, but I know not what :) You need to tell the scheduler about the bundling, how are you doing that? nathan -- Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk