diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 91b1e41559e..7591cae271b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-03-13 Steven Bosscher + + PR rtl-optimization/57320 + * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup + the CFG after thread_prologue_and_epilogue_insns. + 2014-03-13 Vladimir Makarov PR rtl-optimization/57189 diff --git a/gcc/function.c b/gcc/function.c index e67d3c1553f..a61e4757c7a 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -6991,6 +6991,10 @@ rest_of_handle_thread_prologue_and_epilogue (void) scheduling to operate in the epilogue. */ thread_prologue_and_epilogue_insns (); + /* Shrink-wrapping can result in unreachable edges in the epilogue, + see PR57320. */ + cleanup_cfg (0); + /* The stack usage info is finalized during prologue expansion. */ if (flag_stack_usage_info) output_stack_usage ();