aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2017-10-13 15:37:49 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2017-10-13 13:37:49 +0000
commit9cdc325aa7728bb1b8938ccdc2e0652fbbc194da (patch)
tree19810ca45c541d1b9be7f918e72d1c94928980c0
parent15f7a4692667ce38eed325a9567f5ef492a5ce07 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/cfghooks.c8
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",