diff options
Diffstat (limited to 'gcc/tree-ssa-sink.c')
-rw-r--r-- | gcc/tree-ssa-sink.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c index 92f444e..c5d6784 100644 --- a/gcc/tree-ssa-sink.c +++ b/gcc/tree-ssa-sink.c @@ -696,7 +696,9 @@ sink_code_in_bb (basic_block bb) /* If we face a dead stmt remove it as it possibly blocks sinking of uses. */ if (zero_uses_p - && ! gimple_vdef (stmt)) + && !gimple_vdef (stmt) + && (cfun->can_delete_dead_exceptions + || !stmt_could_throw_p (cfun, stmt))) { gsi_remove (&saved, true); release_defs (stmt); |