From: Segher Boessenkool Date: Wed, 16 Sep 2015 15:02:32 +0000 (+0200) Subject: shrink-wrap: Fix up partitions (PR67587) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86b107aea11946765a6792e94bfc18759a7ea2d1;p=gcc.git 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 PR bootstrap/67587 * function.c (rest_of_handle_thread_prologue_and_epilogue): Call fixup_partitions. From-SVN: r227827 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e09c84c38d2..cdbfe48f7c6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-09-16 Segher Boessenkool + + PR bootstrap/67587 + * function.c (rest_of_handle_thread_prologue_and_epilogue): Call + fixup_partitions. + 2015-09-16 Richard Biener PR middle-end/67253 diff --git a/gcc/function.c b/gcc/function.c index 2c5a6d484f6..bb75b1c8085 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -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);