This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, rfc] Make store motion use alias oracle
- From: Victor Kaplansky <VICTORK at il dot ibm dot com>
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, rguenther at suse dot de, richard dot guenther at gmail dot com
- Date: Wed, 31 Jan 2007 21:11:21 +0200
- Subject: Re: [patch, rfc] Make store motion use alias oracle
Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> wrote on 31.01.2007
16:39:37:
> >
> > After the patch has been applied to trunk it fails with ICE. Here is
> > a reduced test case:
>
> a fixed version.
>
> Zdenek
Thanks for the prompt reply the probious testcase was fixed. However this
one still
fails with ICE in lim pass:
struct a { int X; int Y; };
int
foo (struct a *A)
{
int i, j;
for (i = 0; i < 8; i++)
{
A[i].X = 0;
A[i].Y = 0;
for (j = 0; j < 5; j++)
{
A[i].X += j;
A[i].Y += j;
}
}
}
=cut
% ~/cc1 -O2 b.c
foo
Analyzing compilation unit
Performing interprocedural optimizations
<visibility> <early_local_cleanups> <inline> <static-var> <pure-const>
<type-escape-var>Assembling functions:
foo
b.c: In function 'foo':
b.c:5: error: incorrect sharing of tree nodes
# VUSE <SMT.5_40> { SMT.5 }
D___XD__I_lsm.30_1 = D.1606_8->X;
D.1606_8->X;
b.c:5: error: incorrect sharing of tree nodes
# VUSE <SMT.5_40> { SMT.5 }
D___YD__I_lsm.31_37 = D.1606_8->Y;
D.1606_8->Y;
b.c:5: internal compiler error: verify_stmts failed
-- Victor