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 --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 <dmalc...@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 <dmalc...@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; } -- 1.7.11.7