aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-profile.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-06-10 20:06:48 +0000
committerJan Hubicka <jh@suse.cz>2011-06-10 20:06:48 +0000
commit5144409d430091836e8c0ed42e7d38d5e039b7c2 (patch)
treeb4c63c4e36083749fdc5d207881d81ca1a95d246 /gcc/tree-profile.c
parent599ebb8599052e8b7ebac52a5da7ec07b267c3c5 (diff)
* cgraph.c (cgraph_set_nothrow_flag_1): Update cgraph after
setting the nothrow flag. * ipa-reference.c (propagate): Skip aliases. * ipa-pure-const.c (propagate_pure_const): Skip aliases. (propagate_nothrow): Skip aliases; do not update cgraph. (local_pure_const): Do not update cgraph. * tree-profile.c (tree_profiling): Do fixup_cfg. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@174929 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-profile.c')
-rw-r--r--gcc/tree-profile.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index ab51e261a56..3bc4d5c532c 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -470,8 +470,7 @@ tree_profiling (void)
for (node = cgraph_nodes; node; node = node->next)
{
if (!node->analyzed
- || !gimple_has_body_p (node->decl)
- || !(!node->clone_of || node->decl != node->clone_of->decl))
+ || !gimple_has_body_p (node->decl))
continue;
/* Don't profile functions produced for builtin stuff. */
@@ -485,6 +484,8 @@ tree_profiling (void)
/* Re-set global shared temporary variable for edge-counters. */
gcov_type_tmp_var = NULL_TREE;
+ /* Local pure-const may imply need to fixup the cfg. */
+ execute_fixup_cfg ();
branch_prob ();
if (! flag_branch_probabilities