]> git.lizzy.rs Git - rust.git/blob - src/librustc_codegen_ssa/traits/coverageinfo.rs
Rollup merge of #75485 - RalfJung:pin, r=nagisa
[rust.git] / src / librustc_codegen_ssa / traits / coverageinfo.rs
1 use super::BackendTypes;
2 use crate::coverageinfo::{ExprKind, Region};
3 use rustc_middle::ty::Instance;
4
5 pub trait CoverageInfoMethods: BackendTypes {
6     fn coverageinfo_finalize(&self);
7 }
8
9 pub trait CoverageInfoBuilderMethods<'tcx>: BackendTypes {
10     fn create_pgo_func_name_var(&self, instance: Instance<'tcx>) -> Self::Value;
11
12     fn add_counter_region(
13         &mut self,
14         instance: Instance<'tcx>,
15         function_source_hash: u64,
16         index: u32,
17         region: Region<'tcx>,
18     );
19
20     fn add_counter_expression_region(
21         &mut self,
22         instance: Instance<'tcx>,
23         index: u32,
24         lhs: u32,
25         op: ExprKind,
26         rhs: u32,
27         region: Region<'tcx>,
28     );
29
30     fn add_unreachable_region(&mut self, instance: Instance<'tcx>, region: Region<'tcx>);
31 }