Bootstrap and testing in progress.

Richard.

2016-11-25  Richard Biener  <rguent...@suse.de>

        * gimple-fold.c (fold_stmt_1): Check may_propagate_copy
        before valueizing return stmts.

Index: gcc/gimple-fold.c
===================================================================
--- gcc/gimple-fold.c   (revision 242864)
+++ gcc/gimple-fold.c   (working copy)
@@ -4414,7 +4414,8 @@ fold_stmt_1 (gimple_stmt_iterator *gsi,
        if (ret && TREE_CODE (ret) == SSA_NAME && valueize)
          {
            tree val = valueize (ret);
-           if (val && val != ret)
+           if (val && val != ret
+               && may_propagate_copy (ret, val))
              {
                gimple_return_set_retval (ret_stmt, val);
                changed = true;

Reply via email to