This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code
- From: "dougkwan at google dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jun 2007 00:35:11 -0000
- Subject: [Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code
- References: <bug-32327-91@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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
<gcc-bugzilla@gcc.gnu.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