diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2015-09-16 17:02:32 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2015-09-16 17:02:32 +0200 |
commit | 86b107aea11946765a6792e94bfc18759a7ea2d1 (patch) | |
tree | 96694233e594a3fa98ff970aabcca6f50b597d26 | |
parent | ae2ffe2a03f4de06e16addce7a62669d7c6eda5e (diff) | |
download | gcc-86b107aea11946765a6792e94bfc18759a7ea2d1.zip gcc-86b107aea11946765a6792e94bfc18759a7ea2d1.tar.gz gcc-86b107aea11946765a6792e94bfc18759a7ea2d1.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/function.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e09c84c..cdbfe48 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/function.c b/gcc/function.c index 2c5a6d4..bb75b1c 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); |