This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[wide-int] tree-ssa-ccp fix


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);
 	    }
 	}
     }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]