This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[gimple-classes, committed 4/6] tree-ssa-tail-merge.c: Use gassign
- From: David Malcolm <dmalcolm at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: David Malcolm <dmalcolm at redhat dot com>
- Date: Fri, 7 Nov 2014 10:21:28 -0500
- Subject: [gimple-classes, committed 4/6] tree-ssa-tail-merge.c: Use gassign
- Authentication-results: sourceware.org; auth=none
- References: <1415373690-26193-1-git-send-email-dmalcolm at redhat dot com>
gcc/ChangeLog.gimple-classes:
* tree-ssa-tail-merge.c (same_succ_hash): Add checked cast.
(gimple_equal_p): Add checked casts.
---
gcc/ChangeLog.gimple-classes | 5 +++++
gcc/tree-ssa-tail-merge.c | 8 +++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index f43df63..0bd0421 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,10 @@
2014-11-06 David Malcolm <dmalcolm@redhat.com>
+ * tree-ssa-tail-merge.c (same_succ_hash): Add checked cast.
+ (gimple_equal_p): Add checked casts.
+
+2014-11-06 David Malcolm <dmalcolm@redhat.com>
+
* tree-ssa-structalias.c (find_func_aliases): Replace
is_gimple_assign with a dyn_cast, introducing local gassign *
"t_assign", using it in place of "t" for typesafety.
diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c
index 5678657..b822214 100644
--- a/gcc/tree-ssa-tail-merge.c
+++ b/gcc/tree-ssa-tail-merge.c
@@ -484,7 +484,7 @@ same_succ_hash (const_same_succ e)
hstate.add_int (gimple_code (stmt));
if (is_gimple_assign (stmt))
- hstate.add_int (gimple_assign_rhs_code (stmt));
+ hstate.add_int (gimple_assign_rhs_code (as_a <gassign *> (stmt)));
if (!is_gimple_call (stmt))
continue;
if (gimple_call_internal_p (stmt))
@@ -1172,8 +1172,10 @@ gimple_equal_p (same_succ same_succ, gimple s1, gimple s2)
if (TREE_CODE (lhs1) != SSA_NAME
&& TREE_CODE (lhs2) != SSA_NAME)
return (operand_equal_p (lhs1, lhs2, 0)
- && gimple_operand_equal_value_p (gimple_assign_rhs1 (s1),
- gimple_assign_rhs1 (s2)));
+ && gimple_operand_equal_value_p (gimple_assign_rhs1 (
+ as_a <gassign *> (s1)),
+ gimple_assign_rhs1 (
+ as_a <gassign *> (s2))));
else if (TREE_CODE (lhs1) == SSA_NAME
&& TREE_CODE (lhs2) == SSA_NAME)
return vn_valueize (lhs1) == vn_valueize (lhs2);
--
1.7.11.7