summaryrefslogtreecommitdiff
path: root/gcc/auto-profile.c
diff options
context:
space:
mode:
authordehao <dehao@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-18 00:19:24 +0000
committerdehao <dehao@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-18 00:19:24 +0000
commit845e2229959582633f397f116aa8f41df8c5abd1 (patch)
tree8c033ab092cac3cc5c4f5e81f6183cd47d5b07bd /gcc/auto-profile.c
parent2841def1e634aefe9f0e9e2d51a4d96ba893bf1f (diff)
downloadgcc-845e2229959582633f397f116aa8f41df8c5abd1.tar.gz
gcc/ChangeLog:
2014-12-17 Dehao Chen <dehao@google.com> * auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right place. (auto_profile): Recompute inline summary after processing cgraph node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218854 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/auto-profile.c')
-rw-r--r--gcc/auto-profile.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index 7055c4ac819..085bbd6ec54 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -1521,7 +1521,12 @@ afdo_annotate_cfg (const stmt_set &promoted_stmts)
profile_status_for_fn (cfun) = PROFILE_READ;
}
if (flag_value_profile_transformations)
- gimple_value_profile_transformations ();
+ {
+ gimple_value_profile_transformations ();
+ free_dominance_info (CDI_DOMINATORS);
+ free_dominance_info (CDI_POST_DOMINATORS);
+ update_ssa (TODO_update_ssa);
+ }
}
/* Wrapper function to invoke early inliner. */
@@ -1599,7 +1604,6 @@ auto_profile (void)
early_inline ();
autofdo::afdo_annotate_cfg (promoted_stmts);
compute_function_frequency ();
- update_ssa (TODO_update_ssa);
/* Local pure-const may imply need to fixup the cfg. */
if (execute_fixup_cfg () & TODO_cleanup_cfg)
@@ -1608,6 +1612,7 @@ auto_profile (void)
free_dominance_info (CDI_DOMINATORS);
free_dominance_info (CDI_POST_DOMINATORS);
cgraph_edge::rebuild_edges ();
+ compute_inline_parameters (cgraph_node::get (current_function_decl), true);
pop_cfun ();
}