This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [ast-optimizer-branch] gcc.dg/struct-alias-1.c failure
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Jason Merrill <jason at redhat dot com>, gcc at gcc dot gnu dot org
- Date: Tue, 11 Jun 2002 15:46:26 -0400
- Subject: Re: [ast-optimizer-branch] gcc.dg/struct-alias-1.c failure
On Tuesday, June 11, 2002, at 03:41 PM, Diego Novillo wrote:
Jason,
We are now failing struct-alias-1.c because we don't do constant
propagation on trees. The simplifier is turning:
s.x = 0;
if (s.x != 0)
link_error ();
into
s.x = 0;
T.2 = s.x;
if (T.2 != 0)
link_error ();
which confuses the RTL constant propagator. It doesn't realize
that T.2 is always 0 and leaves the call to link_error() in the
code.
Wow, that's sad.
I wouldn't worry for the time being. We will eventually fix it
when we enable constant propagation on trees.
Does that pass still work at all, or do i need to completely rework it?
I don't have it in my tree anymore.
I do have a tree-ssa copy-prop pass that is only a couple hundred lines of code i could contribute that should also fix the above case.
Diego.