https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113765
--- Comment #4 from Eugene Rozenfeld <erozen at microsoft dot com> --- auto-profile currently doesn't guarantee that it will set probabilities on all edges because of zero basic block counts. Normally those edges just have probabilities set by the preceding profile_estimate pass but under -O0 profile_estimate pass doesn't run. I think the correct fix is not to set full_profile to true in auto-profile.cc. Under -O1 and higher it's already set in profile_estimate and under -O0 auto_profile doesn't guarantee a full profile so shouldn't set the flag.