If llvm-cov
sees a code region that is improperly ordered (end < start),
it will immediately exit with a fatal error. To prevent that from happening,
discard regions that are improperly ordered, or might be interpreted in a
way that makes them improperly ordered.
For each coverage span extracted from MIR, create a corresponding
mapping.
For each BCB node or BCB edge that has an associated coverage counter,
inject any necessary coverage statements into MIR.
Given two basic blocks that have a control-flow edge between them, creates
and returns a new block that sits between those blocks.
For each conditions inject statements to update condition bitmap after it has been evaluated.
For each decision inject statements to update test vector bitmap after it has been evaluated.
Convert the Span into its file name, start line and column, and end line and column.