A Counter is an abstract value that describes how to compute the execution count for a region
of code using the collected profile count data. The equivalent type in llvm would be Counter.
The execution count information starting at a point in a file. A sequence of execution counters
for a file in a format hat’s simple to iterate over for processing. The equivalent llvm type is
CoverageSegment.
This is the code coverage information for a single function. It is equivalent to
FunctionRecord but has been renamed to avoid confusion with FunctionRecordV3 etc
This type contains a header showing which function it refers to and then a list of regions in
that function and a list of expressions. The expression IDs in the counter mapping region refer
to indexes in the expressions list.