From cc50337215535e17f1caa5eae34eaa650223c96b Mon Sep 17 00:00:00 2001 From: Eugene Rozenfeld Date: Fri, 15 Sep 2023 18:12:47 -0700 Subject: Fixes for profile count/probability maintenance Verifier checks have recently been strengthened to check that all counts and probabilities are initialized. The checks fired during autoprofiledbootstrap build and this patch fixes it. Tested on x86_64-pc-linux-gnu. gcc/ChangeLog: * auto-profile.cc (afdo_calculate_branch_prob): Fix count comparisons * tree-vect-loop-manip.cc (vect_do_peeling): Guard against zero count when scaling loop profile --- gcc/auto-profile.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/auto-profile.cc') diff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc index ff3b763..e75b046 100644 --- a/gcc/auto-profile.cc +++ b/gcc/auto-profile.cc @@ -1434,7 +1434,7 @@ afdo_calculate_branch_prob (bb_set *annotated_bb) else total_count += AFDO_EINFO (e)->get_count (); } - if (num_unknown_succ == 0 && total_count > profile_count::zero ()) + if (num_unknown_succ == 0 && total_count.nonzero_p()) { FOR_EACH_EDGE (e, ei, bb->succs) e->probability @@ -1571,7 +1571,7 @@ afdo_annotate_cfg (const stmt_set &promoted_stmts) DECL_SOURCE_LOCATION (current_function_decl)); afdo_source_profile->mark_annotated (cfun->function_start_locus); afdo_source_profile->mark_annotated (cfun->function_end_locus); - if (max_count > profile_count::zero ()) + if (max_count.nonzero_p()) { /* Calculate, propagate count and probability information on CFG. */ afdo_calculate_branch_prob (&annotated_bb); -- cgit v1.1