@@ -9,7 +9,7 @@ mod tests;
99
1010use self :: counters:: { CounterIncrementSite , CoverageCounters } ;
1111use self :: graph:: { BasicCoverageBlock , CoverageGraph } ;
12- use self :: mappings:: CoverageSpans ;
12+ use self :: mappings:: ExtractedMappings ;
1313
1414use crate :: MirPass ;
1515
@@ -69,17 +69,17 @@ fn instrument_function_for_coverage<'tcx>(tcx: TyCtxt<'tcx>, mir_body: &mut mir:
6969 let basic_coverage_blocks = CoverageGraph :: from_mir ( mir_body) ;
7070
7171 ////////////////////////////////////////////////////
72- // Compute coverage spans from the `CoverageGraph` .
73- let coverage_spans =
74- mappings:: generate_coverage_spans ( mir_body, & hir_info, & basic_coverage_blocks) ;
72+ // Extract coverage spans and other mapping info from MIR .
73+ let extracted_mappings =
74+ mappings:: extract_all_mapping_info_from_mir ( mir_body, & hir_info, & basic_coverage_blocks) ;
7575
7676 ////////////////////////////////////////////////////
7777 // Create an optimized mix of `Counter`s and `Expression`s for the `CoverageGraph`. Ensure
7878 // every coverage span has a `Counter` or `Expression` assigned to its `BasicCoverageBlock`
7979 // and all `Expression` dependencies (operands) are also generated, for any other
8080 // `BasicCoverageBlock`s not already associated with a coverage span.
8181 let bcbs_with_counter_mappings =
82- coverage_spans . all_bcbs_with_counter_mappings ( & basic_coverage_blocks) ;
82+ extracted_mappings . all_bcbs_with_counter_mappings ( & basic_coverage_blocks) ;
8383 if bcbs_with_counter_mappings. is_empty ( ) {
8484 // No relevant spans were found in MIR, so skip instrumenting this function.
8585 return ;
@@ -89,7 +89,7 @@ fn instrument_function_for_coverage<'tcx>(tcx: TyCtxt<'tcx>, mir_body: &mut mir:
8989 let coverage_counters =
9090 CoverageCounters :: make_bcb_counters ( & basic_coverage_blocks, bcb_has_counter_mappings) ;
9191
92- let mappings = create_mappings ( tcx, & hir_info, & coverage_spans , & coverage_counters) ;
92+ let mappings = create_mappings ( tcx, & hir_info, & extracted_mappings , & coverage_counters) ;
9393 if mappings. is_empty ( ) {
9494 // No spans could be converted into valid mappings, so skip this function.
9595 debug ! ( "no spans could be converted into valid mappings; skipping" ) ;
@@ -103,9 +103,9 @@ fn instrument_function_for_coverage<'tcx>(tcx: TyCtxt<'tcx>, mir_body: &mut mir:
103103 & coverage_counters,
104104 ) ;
105105
106- inject_mcdc_statements ( mir_body, & basic_coverage_blocks, & coverage_spans ) ;
106+ inject_mcdc_statements ( mir_body, & basic_coverage_blocks, & extracted_mappings ) ;
107107
108- let mcdc_num_condition_bitmaps = coverage_spans
108+ let mcdc_num_condition_bitmaps = extracted_mappings
109109 . mcdc_decisions
110110 . iter ( )
111111 . map ( |& mappings:: MCDCDecision { decision_depth, .. } | decision_depth)
@@ -115,7 +115,7 @@ fn instrument_function_for_coverage<'tcx>(tcx: TyCtxt<'tcx>, mir_body: &mut mir:
115115 mir_body. function_coverage_info = Some ( Box :: new ( FunctionCoverageInfo {
116116 function_source_hash : hir_info. function_source_hash ,
117117 num_counters : coverage_counters. num_counters ( ) ,
118- mcdc_bitmap_bytes : coverage_spans . mcdc_bitmap_bytes ,
118+ mcdc_bitmap_bytes : extracted_mappings . mcdc_bitmap_bytes ,
119119 expressions : coverage_counters. into_expressions ( ) ,
120120 mappings,
121121 mcdc_num_condition_bitmaps,
@@ -130,7 +130,7 @@ fn instrument_function_for_coverage<'tcx>(tcx: TyCtxt<'tcx>, mir_body: &mut mir:
130130fn create_mappings < ' tcx > (
131131 tcx : TyCtxt < ' tcx > ,
132132 hir_info : & ExtractedHirInfo ,
133- coverage_spans : & CoverageSpans ,
133+ extracted_mappings : & ExtractedMappings ,
134134 coverage_counters : & CoverageCounters ,
135135) -> Vec < Mapping > {
136136 let source_map = tcx. sess . source_map ( ) ;
@@ -152,13 +152,13 @@ fn create_mappings<'tcx>(
152152 let region_for_span = |span : Span | make_code_region ( source_map, file_name, span, body_span) ;
153153
154154 // Fully destructure the mappings struct to make sure we don't miss any kinds.
155- let CoverageSpans {
155+ let ExtractedMappings {
156156 code_mappings,
157157 branch_pairs,
158158 mcdc_bitmap_bytes : _,
159159 mcdc_branches,
160160 mcdc_decisions,
161- } = coverage_spans ;
161+ } = extracted_mappings ;
162162 let mut mappings = Vec :: new ( ) ;
163163
164164 mappings. extend ( code_mappings. iter ( ) . filter_map (
@@ -261,7 +261,7 @@ fn inject_coverage_statements<'tcx>(
261261fn inject_mcdc_statements < ' tcx > (
262262 mir_body : & mut mir:: Body < ' tcx > ,
263263 basic_coverage_blocks : & CoverageGraph ,
264- coverage_spans : & CoverageSpans ,
264+ extracted_mappings : & ExtractedMappings ,
265265) {
266266 // Inject test vector update first because `inject_statement` always insert new statement at head.
267267 for & mappings:: MCDCDecision {
@@ -270,7 +270,7 @@ fn inject_mcdc_statements<'tcx>(
270270 bitmap_idx,
271271 conditions_num : _,
272272 decision_depth,
273- } in & coverage_spans . mcdc_decisions
273+ } in & extracted_mappings . mcdc_decisions
274274 {
275275 for end in end_bcbs {
276276 let end_bb = basic_coverage_blocks[ * end] . leader_bb ( ) ;
@@ -283,7 +283,7 @@ fn inject_mcdc_statements<'tcx>(
283283 }
284284
285285 for & mappings:: MCDCBranch { span : _, true_bcb, false_bcb, condition_info, decision_depth } in
286- & coverage_spans . mcdc_branches
286+ & extracted_mappings . mcdc_branches
287287 {
288288 let Some ( condition_info) = condition_info else { continue } ;
289289 let id = condition_info. condition_id ;
0 commit comments