Commit 86b107ae by Segher Boessenkool Committed by Segher Boessenkool

shrink-wrap: Fix up partitions (PR67587)

With the new shrink-wrap algorithm, blocks reachable both with and
without prologue are duplicated, and their incoming edges are then
distributed accordingly.  So we need to call fixup_partitions.


2015-09-16  Segher Boessenkool  <segher@kernel.crashing.org>

	PR bootstrap/67587
	* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
	fixup_partitions.

From-SVN: r227827
parent ae2ffe2a
2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
PR bootstrap/67587
* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
fixup_partitions.
2015-09-16 Richard Biener <rguenther@suse.de> 2015-09-16 Richard Biener <rguenther@suse.de>
PR middle-end/67253 PR middle-end/67253
......
...@@ -6668,6 +6668,10 @@ rest_of_handle_thread_prologue_and_epilogue (void) ...@@ -6668,6 +6668,10 @@ rest_of_handle_thread_prologue_and_epilogue (void)
scheduling to operate in the epilogue. */ scheduling to operate in the epilogue. */
thread_prologue_and_epilogue_insns (); thread_prologue_and_epilogue_insns ();
/* Some non-cold blocks may now be only reachable from cold blocks.
Fix that up. */
fixup_partitions ();
/* Shrink-wrapping can result in unreachable edges in the epilogue, /* Shrink-wrapping can result in unreachable edges in the epilogue,
see PR57320. */ see PR57320. */
cleanup_cfg (0); cleanup_cfg (0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment