about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/coverageinfo/map.rs
diff options
context:
space:
mode:
authorRich Kadel <richkadel@google.com>2021-05-11 20:56:23 -0700
committerRich Kadel <richkadel@google.com>2021-05-12 20:27:07 -0700
commitaed8ef5a4d81bb66917ca31a589d5922c9bcf065 (patch)
tree5c31d374aa6e077cd28c98f23fd8a7a29baa19ca /compiler/rustc_codegen_ssa/src/coverageinfo/map.rs
parent31f523ff94247fd030473979782dda90923da1ef (diff)
downloadrust-aed8ef5a4d81bb66917ca31a589d5922c9bcf065.tar.gz
rust-aed8ef5a4d81bb66917ca31a589d5922c9bcf065.zip
`coverageinfo` query needs to use the same MIR as codegen
I ran into an error trying to fix dead block coverage and realized the
`coverageinfo` query is getting a different MIR compared to the
codegenned MIR, which can sometimes be a problem during mapgen.

I changed that query to use the `InstandeDef` (which includes the
generic parameter substitutions, prosibly specific to const params)
instead of the `DefId` (without unknown/default const substitutions).
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/coverageinfo/map.rs')
-rw-r--r--compiler/rustc_codegen_ssa/src/coverageinfo/map.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/coverageinfo/map.rs b/compiler/rustc_codegen_ssa/src/coverageinfo/map.rs
index 4458fd68678..08442c588f8 100644
--- a/compiler/rustc_codegen_ssa/src/coverageinfo/map.rs
+++ b/compiler/rustc_codegen_ssa/src/coverageinfo/map.rs
@@ -49,9 +49,9 @@ impl<'tcx> FunctionCoverage<'tcx> {
     }
 
     fn create(tcx: TyCtxt<'tcx>, instance: Instance<'tcx>, is_used: bool) -> Self {
-        let coverageinfo = tcx.coverageinfo(instance.def_id());
+        let coverageinfo = tcx.coverageinfo(instance.def);
         debug!(
-            "FunctionCoverage::new(instance={:?}) has coverageinfo={:?}. is_used={}",
+            "FunctionCoverage::create(instance={:?}) has coverageinfo={:?}. is_used={}",
             instance, coverageinfo, is_used
         );
         Self {