From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21966 invoked by alias); 26 Jul 2002 11:18:13 -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 21959 invoked from network); 26 Jul 2002 11:18:11 -0000 Received: from unknown (HELO executor.cambridge.redhat.com) (195.224.55.237) by sources.redhat.com with SMTP; 26 Jul 2002 11:18:11 -0000 Received: from host140.cambridge.redhat.com (host140.cambridge.redhat.com [172.16.18.140]) by executor.cambridge.redhat.com (Postfix) with ESMTP id 2F990ABAF8; Fri, 26 Jul 2002 12:18:11 +0100 (BST) Received: from localhost (bernds@localhost) by host140.cambridge.redhat.com (8.11.6/8.11.0) with ESMTP id g6QBIAf16733; Fri, 26 Jul 2002 12:18:10 +0100 X-Authentication-Warning: host140.cambridge.redhat.com: bernds owned process doing -bs Date: Fri, 26 Jul 2002 15:01:00 -0000 From: Bernd Schmidt X-X-Sender: bernds@host140.cambridge.redhat.com To: Mark Mitchell Cc: Richard Kenner , "gcc@gcc.gnu.org" Subject: Re: Reload question In-Reply-To: <100950000.1027624769@warlock.codesourcery.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-07/txt/msg01275.txt.bz2 On Thu, 25 Jul 2002, Mark Mitchell wrote: > > In reload, after doing register allocation, we do, in "reload()": > > > > That mutates the instruction in place, with the possible result that > > it is no longer recognizable. > > > > Who is supposed to be responsible for making the instruction > > recognizable again? > > > > Reload itself. The insn won't match its constraints. > > But this happens *at the end* of reload. Search for: > > PUT_CODE (reg, MEM) > > in reload1.c. > > So, where in reload is the instruction supposed to be checked to see > that it is safe to make this transmogrification? find_reloads. If the modification isn't safe, we'll make a reload for the operand and thus ensure that when we get to the code that modifies pseudos into MEMs, the transformation is correct. Bernd