This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/16225] [3.5 regression] ICE: verify_ssa failed.
- From: "dnovillo at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Aug 2004 18:35:49 -0000
- Subject: [Bug tree-optimization/16225] [3.5 regression] ICE: verify_ssa failed.
- References: <20040627065304.16225.debian-gcc@lists.debian.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dnovillo at redhat dot com 2004-08-12 18:35 -------
Subject: Re: [3.5 regression] ICE: verify_ssa
failed.
On Sun, 2004-08-01 at 17:33, giovannibajo at libero dot it wrote:
> ------- Additional Comments From giovannibajo at libero dot it 2004-08-01 21:33 -------
> Diego, can you have a quick look at these patches? At least, if you can comment
> on the patch to verify_flow_insensitive_alias_info, Jie would know whether it
> should work on making it bootstrap fixing the problems it exposes.
>
Well, call-clobberedness and aliasing are not necessarily related.
foo (int i)
{
int *p, a, b;
if (i > 10)
p = &b;
bar (&a);
return *p;
}
Suppose that for some reason we couldn't use points-to information and
end up with alias(*p) = { a, b }. You don't really want the call to
'bar()' to clobber 'b', so marking 'b' call-clobbered is too
pessimistic.
I'm testing a patch to only mark call-clobbered variables whose address
escape. add_may_alias should not be setting call-clobbered bits.
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16225