summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2017-07-27 12:53:34 +0000
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2017-07-27 12:53:34 +0000
commit0512477f8224d19ac2545794cc5279511351adb3 (patch)
tree724a0bec6f6a0ece835bec475ddeebeaf8a9b858
parentc671977dfa0fb5ccbb4b645e452b4b105b06448c (diff)
downloadgcc-0512477f8224d19ac2545794cc5279511351adb3.tar.gz
Initialize counters in autoFDO to zero, not to uninitialized.
2017-07-27 Martin Liska <mliska@suse.cz> * auto-profile.c (afdo_annotate_cfg): Assign zero counts to BBs and edges seen by autoFDO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250621 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/auto-profile.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5fcaae2eba6..cf39fdaec7c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-07-27 Martin Liska <mliska@suse.cz>
+
+ * auto-profile.c (afdo_annotate_cfg): Assign zero counts to
+ BBs and edges seen by autoFDO.
+
2017-07-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/81502
diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c
index 71c06f30449..552e3331b15 100644
--- a/gcc/auto-profile.c
+++ b/gcc/auto-profile.c
@@ -1547,9 +1547,11 @@ afdo_annotate_cfg (const stmt_set &promoted_stmts)
edge e;
edge_iterator ei;
- bb->count = profile_count::uninitialized ();
+ /* As autoFDO uses sampling approach, we have to assume that all
+ counters are zero when not seen by autoFDO. */
+ bb->count = profile_count::zero ().afdo ();
FOR_EACH_EDGE (e, ei, bb->succs)
- e->count = profile_count::uninitialized ();
+ e->count = profile_count::zero ().afdo ();
if (afdo_set_bb_count (bb, promoted_stmts))
set_bb_annotated (bb, &annotated_bb);