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
This commit is contained in:
Segher Boessenkool 2015-09-16 17:02:32 +02:00 committed by Segher Boessenkool
parent ae2ffe2a03
commit 86b107aea1
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,9 @@
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>
PR middle-end/67253

View File

@ -6668,6 +6668,10 @@ rest_of_handle_thread_prologue_and_epilogue (void)
scheduling to operate in the epilogue. */
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,
see PR57320. */
cleanup_cfg (0);