diff options
Diffstat (limited to 'gcc/gimple-fold.c')
-rw-r--r-- | gcc/gimple-fold.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 6842301..f586c09 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -4414,7 +4414,8 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace, tree (*valueize) (tree)) 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; |