From 9cdc325aa7728bb1b8938ccdc2e0652fbbc194da Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 13 Oct 2017 15:37:49 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/cfghooks.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 78bd1f88c63..fefac6e0c95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-10-13 Jan Hubicka + + * cfghooks.c (verify_flow_info): Check that edge probabilities are + set. + 2017-10-13 Nathan Sidwell * tree-core.h (tree_contains_struct): Make bool. diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c index 18dc49a035e..c15c58c728e 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", -- 2.30.2