diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog.gimple-classes | 8 | ||||
-rw-r--r-- | gcc/tree-outof-ssa.c | 11 |
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index ded675a3bce..723f8a6caf5 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,13 @@ 2014-11-07 David Malcolm <dmalcolm@redhat.com> + * tree-outof-ssa.c (ssa_is_replaceable_p): Rename param "stmt" to + "gs", replacing is_gimple_assign with a dyn_cast, using it to + reintroduce "stmt" as a gassign * for typesafety. Remove + redundant is_gimple_call (stmt) test, since we've already checked + for a GIMPLE_ASSIGN. + +2014-11-07 David Malcolm <dmalcolm@redhat.com> + * ubsan.c (ubsan_expand_null_ifn): Rename local "stmt" to "ubsan_null_call" and strengthen from gimple to gcall *. Eliminate local gimple "g" in favor of new locals diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c index bb57053b474..6d6b6bb962d 100644 --- a/gcc/tree-outof-ssa.c +++ b/gcc/tree-outof-ssa.c @@ -64,17 +64,18 @@ along with GCC; see the file COPYING3. If not see should be in cfgexpand.c. */ #include "expr.h" -/* Return TRUE if expression STMT is suitable for replacement. */ +/* Return TRUE if expression GS is suitable for replacement. */ bool -ssa_is_replaceable_p (gimple stmt) +ssa_is_replaceable_p (gimple gs) { use_operand_p use_p; tree def; gimple use_stmt; /* Only consider modify stmts. */ - if (!is_gimple_assign (stmt)) + gassign *stmt = dyn_cast <gassign *> (gs); + if (!stmt) return false; /* If the statement may throw an exception, it cannot be replaced. */ @@ -109,10 +110,6 @@ ssa_is_replaceable_p (gimple stmt) && DECL_HARD_REGISTER (gimple_assign_rhs1 (stmt))) return false; - /* No function calls can be replaced. */ - if (is_gimple_call (stmt)) - return false; - /* Leave any stmt with volatile operands alone as well. */ if (gimple_has_volatile_ops (stmt)) return false; |