aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/function.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 91b1e41..7591cae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ 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 <vmakarov@redhat.com>
PR rtl-optimization/57189
diff --git a/gcc/function.c b/gcc/function.c
index e67d3c1..a61e475 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 ();