From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12239 invoked by alias); 14 Jun 2007 00:35:21 -0000 Received: (qmail 12200 invoked by alias); 14 Jun 2007 00:35:11 -0000 Date: Thu, 14 Jun 2007 00:35:00 -0000 Message-ID: <20070614003511.12199.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dougkwan at google dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-06/txt/msg01079.txt.bz2 ------- Comment #10 from dougkwan at google dot com 2007-06-14 00:35 ------- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code Talked to Dan Berlin and Diego Novillo here at Google. They told me that all locals are promoted to function scope. In generally, the tree passes can do abitrary transformation like hoisting or loop invariant motion that can move a variable out of its original block scope. If we keep the scopes around. There must be code to fix up all block scoping information before the tree passes end. It may be just a matter to find why the scope of dest is not fixed up properly. 14 Jun 2007 00:28:27 -0000, pinskia at gcc dot gnu dot org : > > Who said that? We keep around the scopes, how else do we get stack sharing in > the first place? Also you cannot turn off stack sharing because that would > cause some programs no longer to be useful (LLVM is one, the stack would just > blow up). > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327