diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-07-21 09:17:22 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-07-21 07:17:22 +0000 |
commit | d9af4feaf09350974d2cefcc284ebc3716f6829f (patch) | |
tree | bbcc41e64d2b3293e4771166e8e4862896583e81 /gcc/bb-reorder.c | |
parent | 1dae21ad9797ae5cb77db3f2d85e854f3ae121f4 (diff) | |
download | gcc-d9af4feaf09350974d2cefcc284ebc3716f6829f.zip gcc-d9af4feaf09350974d2cefcc284ebc3716f6829f.tar.gz gcc-d9af4feaf09350974d2cefcc284ebc3716f6829f.tar.bz2 |
bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges): Put all BBs reachable only via paths crossing cold region to cold region.
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Put all BBs reachable only via paths crossing cold region to cold
region.
* cfgrtl.c (find_bbs_reachable_by_hot_paths): New function.
From-SVN: r250417
Diffstat (limited to 'gcc/bb-reorder.c')
-rw-r--r-- | gcc/bb-reorder.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index 3b7278f..dc50546 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -1665,6 +1665,12 @@ find_rarely_executed_basic_blocks_and_crossing_edges (void) &bbs_in_hot_partition); if (cold_bb_count) sanitize_hot_paths (false, cold_bb_count, &bbs_in_hot_partition); + + hash_set <basic_block> set; + find_bbs_reachable_by_hot_paths (&set); + FOR_EACH_BB_FN (bb, cfun) + if (!set.contains (bb)) + BB_SET_PARTITION (bb, BB_COLD_PARTITION); } /* The format of .gcc_except_table does not allow landing pads to |