For each function that was instrumented for coverage, we need to embed its
corresponding coverage mapping metadata inside the __llvm_covfun
linker section of the final binary.
An index into a function’s list of global file IDs. That underlying list
of local-to-global mappings will be embedded in the function’s record in
the __llvm_covfun linker section.
Each CGU will normally only emit coverage metadata for the functions that it actually generates.
But since we don’t want unused functions to disappear from coverage reports, we also scan for
functions that were instrumented but are not participating in codegen.
Generates the contents of the covmap record for this CGU, which mostly
consists of a header and a list of filenames. The record is then stored
as a global variable in the __llvm_covmap section.