This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[wide-int] tree-ssa-ccp fix
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: zadeck at naturalbridge dot com, mikestump at comcast dot net
- Date: Thu, 24 Apr 2014 22:54:23 +0100
- Subject: [wide-int] tree-ssa-ccp fix
- Authentication-results: sourceware.org; auth=none
The asm comparison showed a problem with my r204593 change, which dropped
a "val.mask &" in the second hunk below.
Seeing that the problem was in ccp made me look at the whole file again.
I noticed that we'd changed the VARYING mask value from -1 to 1, which
didn't look intentional.
Tested on x86_64-linux-gnu. OK to install?
Thanks,
Richard
Index: gcc/tree-ssa-ccp.c
===================================================================
--- gcc/tree-ssa-ccp.c 2014-04-23 19:13:20.488547331 +0100
+++ gcc/tree-ssa-ccp.c 2014-04-23 19:30:07.025416946 +0100
@@ -607,7 +607,7 @@ get_value_for_expr (tree expr, bool for_
else
{
val.lattice_val = VARYING;
- val.mask = 1;
+ val.mask = -1;
val.value = NULL_TREE;
}
return val;
@@ -1848,7 +1848,7 @@ evaluate_stmt (gimple stmt)
if (nonzero_bits == 0)
val.mask = 0;
else
- val.mask = extend_mask (nonzero_bits);
+ val.mask = val.mask & extend_mask (nonzero_bits);
}
}
}