From 9705c1f3b5a6949ae0652e90d586da7b5fc0a1da Mon Sep 17 00:00:00 2001 From: hubicka Date: Fri, 13 Oct 2017 13:37:49 +0000 Subject: [PATCH] * cfghooks.c (verify_flow_info): Check that edge probabilities are set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253728 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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.11.4.GIT