https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110074
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- The profiling code cannot tell that apart, and yes, with sanitize recover we should. In principle we could detect all sanitizer calls to be in cold paths during profile estimation and have a profile instrumentation mode ignoring statically predicted (with good quality) branches. But that would mean to build a shadow CFG to compute the counter inserts then.