On 09/05/05 17:39, Richard Kenner wrote:

Shouldn't the test be that both lhs_vr *and* vr_result are VR_RANGE?
Yes, good catch. If that fixes your testcase, please apply the fix. You are referring to this, right?

--- tree-vrp.c  7 Sep 2005 20:35:19 -0000       2.54
+++ tree-vrp.c  8 Sep 2005 14:26:55 -0000
@@ -3495,7 +3495,7 @@ vrp_visit_phi_node (tree phi)
  /* To prevent infinite iterations in the algorithm, derive ranges
     when the new value is slightly bigger or smaller than the
     previous one.  */
-  if (lhs_vr->type == VR_RANGE)
+  if (lhs_vr->type == VR_RANGE && vr_result.type == VR_RANGE)
    {
      if (!POINTER_TYPE_P (TREE_TYPE (lhs)))
       {





Reply via email to