diff mbox

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

Message ID 1415284340-14186-30-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Nov. 6, 2014, 2:32 p.m. UTC
gcc/ChangeLog.gimple-classes:
	* tree-ssa-dse.c (dse_optimize_stmt): Add checked cast.  Replace
	is_gimple_assign with dyn_cast, introducing local gassign *
	"assign_stmt", using it in place of "stmt" for typesafety.
---
 gcc/ChangeLog.gimple-classes |  6 ++++++
 gcc/tree-ssa-dse.c           | 11 ++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)
diff mbox

Patch

diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index 48942c1..9b455c3 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,11 @@ 
 2014-11-03  David Malcolm  <dmalcolm@redhat.com>
 
+	* tree-ssa-dse.c (dse_optimize_stmt): Add checked cast.  Replace
+	is_gimple_assign with dyn_cast, introducing local gassign *
+	"assign_stmt", using it in place of "stmt" for typesafety.
+
+2014-11-03  David Malcolm  <dmalcolm@redhat.com>
+
 	* tree-ssa-dom.c (initialize_hash_element): Replace check for
 	GIMPLE_ASSIGN with a dyn_cast, introducing local "assign_stmt",
 	using it in place of "stmt" for typesafety.
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 3434a80..efffa16 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -233,7 +233,8 @@  dse_optimize_stmt (gimple_stmt_iterator *gsi)
   /* Don't return early on *this_2(D) ={v} {CLOBBER}.  */
   if (gimple_has_volatile_ops (stmt)
       && (!gimple_clobber_p (stmt)
-	  || TREE_CODE (gimple_assign_lhs (stmt)) != MEM_REF))
+	  || (TREE_CODE (gimple_assign_lhs (as_a <gassign *> (stmt)))
+	      != MEM_REF)))
     return;
 
   /* We know we have virtual definitions.  We can handle assignments and
@@ -287,18 +288,18 @@  dse_optimize_stmt (gimple_stmt_iterator *gsi)
 	}
     }
 
-  if (is_gimple_assign (stmt))
+  if (gassign *assign_stmt = dyn_cast <gassign *> (stmt))
     {
       gimple use_stmt;
 
       /* Self-assignments are zombies.  */
-      if (operand_equal_p (gimple_assign_rhs1 (stmt),
-			   gimple_assign_lhs (stmt), 0))
+      if (operand_equal_p (gimple_assign_rhs1 (assign_stmt),
+			   gimple_assign_lhs (assign_stmt), 0))
 	use_stmt = stmt;
       else
 	{
 	  ao_ref ref;
-	  ao_ref_init (&ref, gimple_assign_lhs (stmt));
+	  ao_ref_init (&ref, gimple_assign_lhs (assign_stmt));
   	  if (!dse_possible_dead_store_p (&ref, stmt, &use_stmt))
 	    return;
 	}