diff options
author | Jan Hubicka <jh@suse.cz> | 2011-06-10 20:06:48 +0000 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2011-06-10 20:06:48 +0000 |
commit | 5144409d430091836e8c0ed42e7d38d5e039b7c2 (patch) | |
tree | b4c63c4e36083749fdc5d207881d81ca1a95d246 /gcc/tree-profile.c | |
parent | 599ebb8599052e8b7ebac52a5da7ec07b267c3c5 (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.c | 5 |
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 |