tree-ssa-ccp.c (visit_assignment): Move code to prevent setting a non-register to...
authorDiego Novillo <dnovillo@redhat.com>
Fri, 30 Jul 2004 00:16:17 +0000 (00:16 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Fri, 30 Jul 2004 00:16:17 +0000 (20:16 -0400)
* tree-ssa-ccp.c (visit_assignment): Move code to prevent
setting a non-register to UNDEFINED right before the call to
set_lattice_value.

From-SVN: r85318

gcc/ChangeLog
gcc/tree-ssa-ccp.c

index 259ddec9e52e87b32ff51428416d092c56b050ec..ae1179991dafe45d6d3cfb453f0f39f06f84589d 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-ccp.c (visit_assignment): Move code to prevent
+       setting a non-register to UNDEFINED right before the call to
+       set_lattice_value.
+
 2004-07-29  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        * config/sh/lib1funcs.asm: Make aliases movstr* for movmem*.
index 82479f052e69981bc47f3884c721bbdaff3db52e..c8ab92a896beab2cf8496e4c1f89a89882a212ff 100644 (file)
@@ -755,12 +755,6 @@ visit_assignment (tree stmt)
       /* For a simple copy operation, we copy the lattice values.  */
       value *nval = get_value (rhs);
       val = *nval;
-      
-      /* If lhs is not a gimple register, then it cannot take on
-         an undefined value. */
-      if (!is_gimple_reg (SSA_NAME_VAR (lhs)) 
-          && val.lattice_val == UNDEFINED)
-        val.lattice_val = UNKNOWN_VAL;      
     }
   else if (DECL_P (rhs) 
            && NUM_VUSES (vuses) == 1
@@ -798,6 +792,12 @@ visit_assignment (tree stmt)
       }
   }
 
+  /* If LHS is not a gimple register, then it cannot take on an
+     UNDEFINED value. */
+  if (!is_gimple_reg (SSA_NAME_VAR (lhs)) 
+      && val.lattice_val == UNDEFINED)
+    val.lattice_val = UNKNOWN_VAL;      
+
   /* Set the lattice value of the statement's output.  */
   set_lattice_value (lhs, val);
   if (val.lattice_val == VARYING)