aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2014-03-13 18:01:48 +0000
committerJakub Jelinek <jakub@gcc.gnu.org>2014-03-13 19:01:48 +0100
commitbdc6e1ae29dbca4e3a51f6c06373f0425c239814 (patch)
treeeac279b783ad1be6ece3b3df58d3291df518d59c
parentb0a87402783d157875be6667d3d5bcf3396463a6 (diff)
downloadgcc-bdc6e1ae29dbca4e3a51f6c06373f0425c239814.zip
gcc-bdc6e1ae29dbca4e3a51f6c06373f0425c239814.tar.gz
gcc-bdc6e1ae29dbca4e3a51f6c06373f0425c239814.tar.bz2
re PR rtl-optimization/57320 (Shrink-wrapping leaves unreachable blocks in the CFG)
PR rtl-optimization/57320 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup the CFG after thread_prologue_and_epilogue_insns. From-SVN: r208551
-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 ();