]> gcc.gnu.org Git - gcc.git/commitdiff
tree-vn.c (get_value_handle): Make sure that given an is_gimple_min_invariant express...
authorDaniel Berlin <dberlin@dberlin.org>
Tue, 15 Feb 2005 20:09:31 +0000 (20:09 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Tue, 15 Feb 2005 20:09:31 +0000 (20:09 +0000)
2005-02-15  Daniel Berlin  <dberlin@dberlin.org>

* tree-vn.c (get_value_handle): Make sure that given an
is_gimple_min_invariant expression, we always return it.

From-SVN: r95072

gcc/ChangeLog
gcc/tree-vn.c

index 77d6c3a0fb853894cc007a6df472d67b285982c3..e90c0306a3791ec5b377b19cfc4a161af24df314 100644 (file)
@@ -1,3 +1,8 @@
+2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-vn.c (get_value_handle): Make sure that given an
+       is_gimple_min_invariant expression, we always return it.
+
 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
 
        * passes.c (rest_of_handle_gcse): Fix a comment.
index ab952ebadd0ab2ba8b9c71ca6d721f6afd931df3..22affffb0634f3dea15d67fe85a22cc32e94697e 100644 (file)
@@ -267,11 +267,16 @@ vn_lookup_or_add (tree expr, vuse_optype vuses)
 
 /* Get the value handle of EXPR.  This is the only correct way to get
    the value handle for a "thing".  If EXPR does not have a value
-   handle associated, it returns NULL_TREE.  */
+   handle associated, it returns NULL_TREE.  
+   NB: If EXPR is min_invariant, this function is *required* to return EXPR.  */
 
 tree
 get_value_handle (tree expr)
 {
+
+  if (is_gimple_min_invariant (expr))
+    return expr;
+
   if (TREE_CODE (expr) == SSA_NAME)
     return SSA_NAME_VALUE (expr);
   else if (EXPR_P (expr) || DECL_P (expr))
@@ -280,10 +285,7 @@ get_value_handle (tree expr)
       return ((ann) ? ann->common.value_handle : NULL_TREE);
     }
   else
-    {
-      gcc_assert (is_gimple_min_invariant (expr));
-      return expr;
-    }
+    gcc_unreachable ();
 }
 
 
This page took 0.070914 seconds and 5 git commands to generate.