aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-11-30 21:25:24 +0000
committerJan Hubicka <hubicka@ucw.cz>2019-11-30 21:25:24 +0000
commit4ea3a298dc6699d5b653032b271a14ad2428578e (patch)
tree2e6926128dc761f83fcb484edba15157e0da53ec
parent07037704a6e9c322b4cceb78b24d0c4f27a5d94f (diff)
Update max_bb_count in execute_fixup_cfg
* tree-cfg.c (execute_fixup_cfg): Update also max_bb_count when scaling happen. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@278879 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-cfg.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c03556b8d3b..e173bad5c44 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2019-11-30 Jan Hubicka <hubicka@ucw.cz>
+ * tree-cfg.c (execute_fixup_cfg): Update also max_bb_count when
+ scaling happen.
+
+2019-11-30 Jan Hubicka <hubicka@ucw.cz>
+
* cgraph.h (symtab_node): Add symver flag.
* cgraphunit.c (process_symver_attribute): New.
(process_common_attributes): Use process_symver_attribute.
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index eb268e32b2d..8e5179e6291 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -9551,6 +9551,7 @@ execute_fixup_cfg (void)
gimple_stmt_iterator gsi;
int todo = 0;
cgraph_node *node = cgraph_node::get (current_function_decl);
+ /* Same scaling is also done by ipa_merge_profiles. */
profile_count num = node->count;
profile_count den = ENTRY_BLOCK_PTR_FOR_FN (cfun)->count;
bool scale = num.initialized_p () && !(num == den);
@@ -9664,7 +9665,10 @@ execute_fixup_cfg (void)
}
}
if (scale)
- compute_function_frequency ();
+ {
+ update_max_bb_count ();
+ compute_function_frequency ();
+ }
if (current_loops
&& (todo & TODO_cleanup_cfg))