[gimple-classes, committed 25/44] tree-ssa-coalesce.c: Use gassign

David Malcolm dmalcolm@redhat.com
Thu Nov 6 14:37:00 GMT 2014


gcc/ChangeLog.gimple-classes:
	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Replace
	is_gimple_assign with dyn_cast, introducing local "assign_stmt",
	using it in place of "stmt" for typesafety.
	(create_outofssa_var_map): Within case GIMPLE_ASSIGN introduce
	local "assign_stmt", using it in place of "stmt" for typesafety.
---
 gcc/ChangeLog.gimple-classes |  8 ++++++++
 gcc/tree-ssa-coalesce.c      | 15 ++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index ca6b1be..c7ca9fd 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,13 @@
 2014-11-03  David Malcolm  <dmalcolm@redhat.com>
 
+	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Replace
+	is_gimple_assign with dyn_cast, introducing local "assign_stmt",
+	using it in place of "stmt" for typesafety.
+	(create_outofssa_var_map): Within case GIMPLE_ASSIGN introduce
+	local "assign_stmt", using it in place of "stmt" for typesafety.
+
+2014-11-03  David Malcolm  <dmalcolm@redhat.com>
+
 	* tree-ssa-ccp.c (get_default_value): Replace is_gimple_assign
 	with a dyn_cast, introducing local "assign_stmt", using it in
 	place of "stmt" for typesafety.
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index 7d1825d..74ea352 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -850,11 +850,11 @@ build_ssa_conflict_graph (tree_live_info_p liveinfo)
 
 	     This is handled by simply removing the SRC of the copy from the
 	     live list, and processing the stmt normally.  */
-	  if (is_gimple_assign (stmt))
+	  if (gassign *assign_stmt = dyn_cast <gassign *> (stmt))
 	    {
-	      tree lhs = gimple_assign_lhs (stmt);
-	      tree rhs1 = gimple_assign_rhs1 (stmt);
-	      if (gimple_assign_copy_p (stmt)
+	      tree lhs = gimple_assign_lhs (assign_stmt);
+	      tree rhs1 = gimple_assign_rhs1 (assign_stmt);
+	      if (gimple_assign_copy_p (assign_stmt)
                   && TREE_CODE (lhs) == SSA_NAME
                   && TREE_CODE (rhs1) == SSA_NAME)
 		live_track_clear_var (live, rhs1);
@@ -1003,9 +1003,10 @@ create_outofssa_var_map (coalesce_list_p cl, bitmap used_in_copy)
 	    {
 	    case GIMPLE_ASSIGN:
 	      {
-		tree lhs = gimple_assign_lhs (stmt);
-		tree rhs1 = gimple_assign_rhs1 (stmt);
-		if (gimple_assign_ssa_name_copy_p (stmt)
+		gassign *assign_stmt = as_a <gassign *> (stmt);
+		tree lhs = gimple_assign_lhs (assign_stmt);
+		tree rhs1 = gimple_assign_rhs1 (assign_stmt);
+		if (gimple_assign_ssa_name_copy_p (assign_stmt)
 		    && gimple_can_coalesce_p (lhs, rhs1))
 		  {
 		    v1 = SSA_NAME_VERSION (lhs);
-- 
1.7.11.7



More information about the Gcc-patches mailing list