Coverage instrumentation has an optimization not to instrument extra blocks, if the pass is already "accounted for" by a successor/predecessor basic block.
Two cases are considered: full-post-dominators and post-dominators are not instrumented, as in those cases the instrumentation is applied to the nodes predecessors/successors respectively.
However (https://github.com/google/sanitizers/issues/783) unfortunately this reasoning may become circular, which stops valid paths from having coverage.
In worst case this can block fuzzing entirely.
I propose to have for now a simpler optimization which will not apply the optimization to full post-dominators. Then the logic is trivially sound, and losing valid paths does not seem like a good trade-off for a ~15% decrease in the # of optimized nodes.