This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug tree-optimization/20134] New: 176.gcc miscompare with-m64 after DOM change
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: gcc-bugzilla at gcc dot gnu dot org
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 21 Feb 2005 19:19:21 -0500
- Subject: Re: [Bug tree-optimization/20134] New: 176.gcc miscompare with-m64 after DOM change
- References: <20050222001243.20134.janis@gcc.gnu.org>
On Tue, 2005-02-22 at 00:12 +0000, janis at gcc dot gnu dot org wrote:
> The SPEC CPU2000 test 176.gcc has been failing on powerpc64-*-linux-gnu
> with "-m64 -O1" since this patch was added:
>
>
> 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
>
>
> * tree-ssa-dom.c (record_equality): Use loop depth to determine
> which way to record the equality as well.
> (loop_depth_of_name): New function.
>
This can't be the real cause of the problem, however, it must just be
exposing the latent bug.
It just changes the direction we record the equality, so that we will
use one variable instead of another.
The code still believes both variables to be equal.
In other words, there is something in record_equality that isn't
correct, or some pass later on is now doing something wrong as a result.
Can you print out the values of x, y, and prev_x we are passing to
record_const_or_copy_1 in record_equality before and after the patch,
for that function?