+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.
/* 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))
return ((ann) ? ann->common.value_handle : NULL_TREE);
}
else
- {
- gcc_assert (is_gimple_min_invariant (expr));
- return expr;
- }
+ gcc_unreachable ();
}