diff options
Diffstat (limited to 'gcc/tree-ssa-dce.c')
-rw-r--r-- | gcc/tree-ssa-dce.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c index a9c886f0a8f..ce2d41bff31 100644 --- a/gcc/tree-ssa-dce.c +++ b/gcc/tree-ssa-dce.c @@ -869,7 +869,8 @@ propagate_necessity (struct edge_list *el) { tree rhs = gimple_return_retval (stmt); /* A return statement may perform a load. */ - if (TREE_CODE (rhs) != SSA_NAME + if (rhs + && TREE_CODE (rhs) != SSA_NAME && !is_gimple_min_invariant (rhs)) { if (!ref_may_be_aliased (rhs)) |