Skip to content

Commit f4f9497

Browse files
committed
coverage: Get a function's expressions/regions in the place that needs them
1 parent 5808006 commit f4f9497

File tree

1 file changed

+7
-7
lines changed
  • compiler/rustc_codegen_llvm/src/coverageinfo

1 file changed

+7
-7
lines changed

compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use crate::common::CodegenCx;
22
use crate::coverageinfo;
3-
use crate::coverageinfo::ffi::{Counter, CounterExpression, CounterMappingRegion};
3+
use crate::coverageinfo::ffi::CounterMappingRegion;
4+
use crate::coverageinfo::map_data::FunctionCoverage;
45
use crate::llvm;
56

67
use rustc_codegen_ssa::traits::ConstMethods;
@@ -65,11 +66,9 @@ pub fn finalize(cx: &CodegenCx<'_, '_>) {
6566
let mangled_function_name = tcx.symbol_name(instance).name;
6667
let source_hash = function_coverage.source_hash();
6768
let is_used = function_coverage.is_used();
68-
let (expressions, counter_regions) =
69-
function_coverage.get_expressions_and_counter_regions();
7069

7170
let coverage_mapping_buffer =
72-
encode_mappings_for_function(&mut global_file_table, expressions, counter_regions);
71+
encode_mappings_for_function(&mut global_file_table, &function_coverage);
7372

7473
if coverage_mapping_buffer.is_empty() {
7574
if function_coverage.is_used() {
@@ -155,11 +154,12 @@ impl GlobalFileTable {
155154
/// entry as a `Vec<u8>`.
156155
///
157156
/// Newly-encountered filenames will be added to the global file table.
158-
fn encode_mappings_for_function<'a>(
157+
fn encode_mappings_for_function(
159158
global_file_table: &mut GlobalFileTable,
160-
expressions: Vec<CounterExpression>,
161-
counter_regions: impl Iterator<Item = (Counter, &'a CodeRegion)>,
159+
function_coverage: &FunctionCoverage<'_>,
162160
) -> Vec<u8> {
161+
let (expressions, counter_regions) = function_coverage.get_expressions_and_counter_regions();
162+
163163
let mut counter_regions = counter_regions.collect::<Vec<_>>();
164164
if counter_regions.is_empty() {
165165
return Vec::new();

0 commit comments

Comments
 (0)