[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2009-03-30 Thread jsm28 at gcc dot gnu dot org
--- Comment #34 from jsm28 at gcc dot gnu dot org 2009-03-30 22:06 --- Closing 4.2 branch, fixed in 4.3. (There's a lot of discussion here of a possible underlying problem that might or might not be fixed but isn't 4.2-only; if still present, please open a separate bug report for it.)

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2008-05-19 Thread jsm28 at gcc dot gnu dot org
--- Comment #33 from jsm28 at gcc dot gnu dot org 2008-05-19 20:23 --- 4.2.4 is being released, changing milestones to 4.2.5. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2008-02-01 Thread jsm28 at gcc dot gnu dot org
--- Comment #32 from jsm28 at gcc dot gnu dot org 2008-02-01 16:54 --- 4.2.3 is being released now, changing milestones of open bugs to 4.2.4. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-10-09 Thread mmitchel at gcc dot gnu dot org
--- Comment #31 from mmitchel at gcc dot gnu dot org 2007-10-09 19:20 --- Change target milestone to 4.2.3, as 4.2.2 has been released. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-07-19 Thread mmitchel at gcc dot gnu dot org
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|4.2.1 |4.2.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-07-04 Thread dnovillo at google dot com
--- Comment #30 from dnovillo at google dot com 2007-07-04 11:22 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code On 7/3/07 11:28 PM, mmitchel at gcc dot gnu dot org wrote: --- Comment #29 from mmitchel at gcc dot gnu dot org 2007-07-04

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-07-03 Thread mmitchel at gcc dot gnu dot org
--- Comment #29 from mmitchel at gcc dot gnu dot org 2007-07-04 03:28 --- Diego, does this problem still exist on the 4.2 branch? I see that you checked in a patch, which you suggest may not be a complete fix, but does this test case still fail? -- mmitchel at gcc dot gnu dot org

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-19 Thread rth at gcc dot gnu dot org
--- Comment #26 from rth at gcc dot gnu dot org 2007-06-19 17:26 --- (In reply to comment #10) Talked to Dan Berlin and Diego Novillo here at Google. They told me that all locals are promoted to function scope. That *only* applies to register variables, not stack variables. We very

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-19 Thread dnovillo at google dot com
--- Comment #27 from dnovillo at google dot com 2007-06-19 17:39 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code On 6/19/07 1:26 PM, rth at gcc dot gnu dot org wrote: --- Comment #26 from rth at gcc dot gnu dot org 2007-06-19 17:26 ---

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-19 Thread amacleod at redhat dot com
--- Comment #28 from amacleod at redhat dot com 2007-06-19 18:57 --- Won't solve the problem currently, but I think the long term solution is to do stack analysis when out-of-ssa and expand have been merged into a single entity. The live range info out-of-ssa calculates can be used to

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-18 Thread dnovillo at gcc dot gnu dot org
--- Comment #25 from dnovillo at gcc dot gnu dot org 2007-06-18 12:30 --- Fixed symptoms with http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01081.html. Real fix still being discussed. -- dnovillo at gcc dot gnu dot org changed: What|Removed

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-15 Thread mec at google dot com
--- Comment #22 from mec at google dot com 2007-06-15 13:15 --- With the test program, gcc 4.1.2 generates correct code and gcc 4.2.0 generates wrong code. Can someone increase the priority and severity of this PR? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-15 Thread dnovillo at gcc dot gnu dot org
--- Comment #23 from dnovillo at gcc dot gnu dot org 2007-06-15 13:27 --- Working on this today. -- dnovillo at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-15 Thread dnovillo at gcc dot gnu dot org
--- Comment #24 from dnovillo at gcc dot gnu dot org 2007-06-15 22:10 --- Subject: Bug 32327 Author: dnovillo Date: Fri Jun 15 22:10:09 2007 New Revision: 125748 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125748 Log: PR 32327 * tree-ssa-operands.c

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-14 Thread ian at airs dot com
--- Comment #19 from ian at airs dot com 2007-06-14 17:57 --- Adding Richard in case he has any comment. I don't agree with comment #17 from Doug. In the code in comment #16, if f saves c, there is no way that it could validly use it after the block scope exits. In general if we

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-14 Thread dougkwan at google dot com
--- Comment #20 from dougkwan at google dot com 2007-06-14 18:05 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code That was my initial opinion too but Diego and Danny told me there is only one scope in the tree SSA form. So it is okay. About your

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-14 Thread rguenther at suse dot de
--- Comment #21 from rguenther at suse dot de 2007-06-14 18:12 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code On Thu, 14 Jun 2007, ian at airs dot com wrote: --- Comment #19 from ian at airs dot com 2007-06-14 17:57 --- This is

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gcc dot gnu dot org
--- Comment #5 from pinskia at gcc dot gnu dot org 2007-06-13 21:42 --- (In reply to comment #2) The address of dest has been passed to memcpy() and the alias analysis considers the varaible to escape. So potentially foo() can see the value of dest if memcpy() stash the pointer

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread dougkwan at google dot com
--- Comment #6 from dougkwan at google dot com 2007-06-13 21:50 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code Fixing alias analysis in 4.2.0 will make this problem go away but it does not change the underlying issue in the stack local sharing

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gcc dot gnu dot org
--- Comment #7 from pinskia at gcc dot gnu dot org 2007-06-13 21:53 --- (In reply to comment #6) Fixing alias analysis in 4.2.0 will make this problem go away but it does not change the underlying issue in the stack local sharing code. Is that really true? The underlying issue is

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread dougkwan at google dot com
--- Comment #8 from dougkwan at google dot com 2007-06-14 00:14 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code I thought like you do initially. But then I was told that in gimple everything is promoted to function scope. So dest is not out of

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2007-06-14 00:28 --- (In reply to comment #8) Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code I thought like you do initially. But then I was told that in gimple everything is promoted to

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread dougkwan at google dot com
--- 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,

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gcc dot gnu dot org
--- Comment #11 from pinskia at gcc dot gnu dot org 2007-06-14 00:42 --- Look at the code in cfgexpand.c, expand_used_vars, this looks at the source blocks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gcc dot gnu dot org
--- Comment #12 from pinskia at gcc dot gnu dot org 2007-06-14 00:42 --- This code has been there since 4.0.0 so this has been true since then. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread dougkwan at google dot com
--- Comment #13 from dougkwan at google dot com 2007-06-14 00:46 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code Yes, I saw the code there yesterday and I was wondering if the block scope got fixed up somehow. 14 Jun 2007 00:42:23 -, pinskia

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gmail dot com
--- Comment #14 from pinskia at gmail dot com 2007-06-14 00:52 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code On 14 Jun 2007 00:46:28 -, dougkwan at google dot com [EMAIL PROTECTED] wrote: Yes, I saw the code there yesterday and I was

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread dougkwan at google dot com
--- Comment #15 from dougkwan at google dot com 2007-06-14 00:59 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code Then the stack local sharing code is very broken. It should do a real live-range analysis instead of using block scoping information

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gcc dot gnu dot org
--- Comment #16 from pinskia at gcc dot gnu dot org 2007-06-14 01:02 --- The problem is that it needs also source style scoping also: take: int f(int *a); int g(int b) { { int c; f(c); } { int c1; f(c1); } } Without source based ones, we don't know if c/c1 can

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread dougkwan at google dot com
--- Comment #17 from dougkwan at google dot com 2007-06-14 01:09 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code Unless the compiler can prove that f() does not save the pointer to c and use it later, it cannot share a stack slot for c c1. This

[Bug middle-end/32327] [4.2 Regression] Incorrect stack sharing causing removal of live code

2007-06-13 Thread pinskia at gmail dot com
--- Comment #18 from pinskia at gmail dot com 2007-06-14 01:14 --- Subject: Re: [4.2 Regression] Incorrect stack sharing causing removal of live code On 14 Jun 2007 01:09:16 -, dougkwan at google dot com [EMAIL PROTECTED] wrote: Unless the compiler can prove that f() does not