diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-10-13 15:37:49 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-10-13 13:37:49 +0000 |
commit | 9cdc325aa7728bb1b8938ccdc2e0652fbbc194da (patch) | |
tree | 19810ca45c541d1b9be7f918e72d1c94928980c0 | |
parent | 15f7a4692667ce38eed325a9567f5ef492a5ce07 (diff) | |
download | gcc-9cdc325aa7728bb1b8938ccdc2e0652fbbc194da.zip gcc-9cdc325aa7728bb1b8938ccdc2e0652fbbc194da.tar.gz gcc-9cdc325aa7728bb1b8938ccdc2e0652fbbc194da.tar.bz2 |
cfghooks.c (verify_flow_info): Check that edge probabilities are set.
* cfghooks.c (verify_flow_info): Check that edge probabilities are
set.
From-SVN: r253728
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfghooks.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 78bd1f8..fefac6e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-10-13 Jan Hubicka <hubicka@ucw.cz> + + * cfghooks.c (verify_flow_info): Check that edge probabilities are + set. + 2017-10-13 Nathan Sidwell <nathan@acm.org> * tree-core.h (tree_contains_struct): Make bool. diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c index 18dc49a..c15c58c 100644 --- a/gcc/cfghooks.c +++ b/gcc/cfghooks.c @@ -152,6 +152,7 @@ verify_flow_info (void) bb->index, bb->frequency); err = 1; } + FOR_EACH_EDGE (e, ei, bb->succs) { if (last_visited [e->dest->index] == bb) @@ -160,6 +161,13 @@ verify_flow_info (void) e->src->index, e->dest->index); err = 1; } + if (profile_status_for_fn (cfun) >= PROFILE_GUESSED + && !e->probability.initialized_p ()) + { + error ("Uninitialized probability of edge %i->%i", e->src->index, + e->dest->index); + err = 1; + } if (!e->probability.verify ()) { error ("verify_flow_info: Wrong probability of edge %i->%i", |