diff options
| author | bors <bors@rust-lang.org> | 2021-05-07 07:44:53 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-05-07 07:44:53 +0000 |
| commit | ac888e8675182c703c2cd097957878faf88dad94 (patch) | |
| tree | 8285c87d06d7609b41fe410ad6900c5ab02f7d61 /compiler/rustc_codegen_llvm/src | |
| parent | 1773f14a24c49356b384e45ebb45643bc9bef2c4 (diff) | |
| parent | 87faf2e64f11ed3e1271af890a181b191fbb77a1 (diff) | |
| download | rust-ac888e8675182c703c2cd097957878faf88dad94.tar.gz rust-ac888e8675182c703c2cd097957878faf88dad94.zip | |
Auto merge of #85022 - JohnTitor:rollup-2q4706v, r=JohnTitor
Rollup of 9 pull requests Successful merges: - #84779 (Add support for --test-args to cargotest) - #84781 (Don't check bootstrap artifacts by default) - #84787 (bump deps) - #84815 (Update coverage docs and command line help) - #84875 (Removes unneeded check of `#[no_coverage]` in mapgen) - #84897 (Coverage instruments closure bodies in macros (not the macro body)) - #84911 (Retry clang+llvm download) - #84972 (CTFE inbounds-error-messages tweak) - #84990 (Sort rustdoc-gui tests) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs b/compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs index 1faaa7e86f6..30f125ca3be 100644 --- a/compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs +++ b/compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs @@ -8,7 +8,6 @@ use rustc_codegen_ssa::traits::{ConstMethods, CoverageInfoMethods}; use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexSet}; use rustc_hir::def_id::{DefId, DefIdSet, LOCAL_CRATE}; use rustc_llvm::RustString; -use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; use rustc_middle::mir::coverage::CodeRegion; use rustc_span::Symbol; @@ -249,7 +248,7 @@ fn save_function_record( /// /// We can find the unused functions (including generic functions) by the set difference of all MIR /// `DefId`s (`tcx` query `mir_keys`) minus the codegenned `DefId`s (`tcx` query -/// `collect_and_partition_mono_items`). +/// `codegened_and_inlined_items`). /// /// *HOWEVER* the codegenned `DefId`s are partitioned across multiple `CodegenUnit`s (CGUs), and /// this function is processing a `function_coverage_map` for the functions (`Instance`/`DefId`) @@ -281,11 +280,8 @@ fn add_unused_functions<'ll, 'tcx>(cx: &CodegenCx<'ll, 'tcx>) { let mut unused_def_ids_by_file: FxHashMap<Symbol, Vec<DefId>> = FxHashMap::default(); for &non_codegenned_def_id in all_def_ids.difference(codegenned_def_ids) { - let codegen_fn_attrs = tcx.codegen_fn_attrs(non_codegenned_def_id); - if codegen_fn_attrs.flags.contains(CodegenFnAttrFlags::NO_COVERAGE) { - continue; - } - // Make sure the non-codegenned (unused) function has a file_name + // Make sure the non-codegenned (unused) function has at least one MIR + // `Coverage` statement with a code region, and return its file name. if let Some(non_codegenned_file_name) = tcx.covered_file_name(non_codegenned_def_id) { let def_ids = unused_def_ids_by_file.entry(*non_codegenned_file_name).or_insert_with(Vec::new); |
