--- Comment #3 from dnovillo at gcc dot gnu dot org 2006-07-18 13:25
---
Testing patch. The bug was in the alias pruning code. We need to handle
.GLOBAL_VAR in access_can_touch_variable. A memory reference that uses a
call-clobbered memory tag should always be considered to touch
--- Comment #4 from dberlin at gcc dot gnu dot org 2006-07-18 14:06 ---
Subject: Re: [4.2 Regression] Wrong aliasing
with global var grouping during call clobbering
dnovillo at gcc dot gnu dot org wrote:
--- Comment #3 from dnovillo at gcc dot gnu dot org 2006-07-18 13:25
--- Comment #5 from dnovillo at gcc dot gnu dot org 2006-07-18 17:28
---
Subject: Bug 28410
Author: dnovillo
Date: Tue Jul 18 17:27:57 2006
New Revision: 115564
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=115564
Log:
PR 28410
* tree-ssa-operands.c
--- Comment #6 from dnovillo at gcc dot gnu dot org 2006-07-18 17:29
---
Fixed. http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00786.html
--
dnovillo at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #1 from rguenth at gcc dot gnu dot org 2006-07-17 12:51 ---
Oh - build with -O2 --param global-var-threshold=1
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
CC||pinskia at gcc dot gnu dot
|
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|4.3.0 |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28410
--- Comment #2 from rguenth at gcc dot gnu dot org 2006-07-17 13:29 ---
Runnable testcase:
extern void abort(void);
struct Bar { int p; };
struct Foo { struct Bar *p; };
struct Bar p0 = { 0 };
struct Bar p1 = { 1 };
void bar(struct Foo *f)
{
f-p = p0;
}
int foo(struct Foo *f)
{
--
dnovillo at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |dnovillo at gcc dot gnu dot
|dot org