A degenerate profile can cause an assertion at code gen time. Specifically, we have a non-zero basic block count with 0 counts in all of the successor blocks.
This has occurred in practice at least once, and while the circumstances under which the profile was created were not immediately reproducible, the crash can be avoided by guarding the offending call.