Struct rustc_codegen_llvm::coverageinfo::mapgen::CoverageMapGenerator [−][src]
struct CoverageMapGenerator {
filenames: FxIndexSet<CString>,
}Fields
filenames: FxIndexSet<CString>Implementations
impl CoverageMapGenerator[src]
impl CoverageMapGenerator[src]fn new() -> Self[src]
fn write_coverage_mapping<'a>(
&mut self,
expressions: Vec<CounterExpression>,
counter_regions: impl Iterator<Item = (Counter, &'a CodeRegion)>,
coverage_mapping_buffer: &RustString
)[src]
fn write_coverage_mapping<'a>(
&mut self,
expressions: Vec<CounterExpression>,
counter_regions: impl Iterator<Item = (Counter, &'a CodeRegion)>,
coverage_mapping_buffer: &RustString
)[src]Using the expressions and counter_regions collected for the current function, generate
the mapping_regions and virtual_file_mapping, and capture any new filenames. Then use
LLVM APIs to encode the virtual_file_mapping, expressions, and mapping_regions into
the given coverage_mapping byte buffer, compliant with the LLVM Coverage Mapping format.
fn generate_coverage_map<'ll, 'tcx>(
self,
cx: &CodegenCx<'ll, 'tcx>,
version: u32,
filenames_size: usize,
filenames_val: &'ll Value
) -> &'ll Value[src]
fn generate_coverage_map<'ll, 'tcx>(
self,
cx: &CodegenCx<'ll, 'tcx>,
version: u32,
filenames_size: usize,
filenames_val: &'ll Value
) -> &'ll Value[src]Construct coverage map header and the array of function records, and combine them into the coverage map. Save the coverage map data into the LLVM IR as a static global using a specific, well-known section and name.