Functions inlined into reachable functions are reachable

Consider functions to be reachable for code coverage purposes, either
when they reach the code generation directly, or indirectly as inlined
part of another function.
This commit is contained in:
Tomasz Miąsko 2021-03-13 00:00:00 +00:00
parent 1796cc0e6c
commit 5a9538acb5
3 changed files with 34 additions and 1 deletions

View file

@ -1397,6 +1397,14 @@ rustc_queries! {
query is_codegened_item(def_id: DefId) -> bool {
desc { |tcx| "determining whether `{}` needs codegen", tcx.def_path_str(def_id) }
}
/// All items participating in code generation together with items inlined into them.
query codegened_and_inlined_items(_: CrateNum)
-> &'tcx DefIdSet {
eval_always
desc { "codegened_and_inlined_items" }
}
query codegen_unit(_: Symbol) -> &'tcx CodegenUnit<'tcx> {
desc { "codegen_unit" }
}