Auto merge of #89495 - Mark-Simulacrum:add-inlines, r=michaelwoerister

Add two inline annotations for hot functions

These two functions are essentially no-ops (and compile to just a load and
return), but show up in process_obligations profiles with a high call count --
so worthwhile to try and inline them. This is not normally possible as they're
non-generic, so they don't get offered for inlining by our current algorithm.
This commit is contained in:
bors 2021-10-07 06:23:23 +00:00
commit ca8078d7b2
2 changed files with 2 additions and 0 deletions

View file

@ -400,6 +400,7 @@ pub(crate) struct TyVidEqKey<'tcx> {
}
impl<'tcx> From<ty::TyVid> for TyVidEqKey<'tcx> {
#[inline] // make this function eligible for inlining - it is quite hot.
fn from(vid: ty::TyVid) -> Self {
TyVidEqKey { vid, phantom: PhantomData }
}

View file

@ -437,6 +437,7 @@ impl EqUnifyValue for IntVarValue {}
impl UnifyKey for IntVid {
type Value = Option<IntVarValue>;
#[inline] // make this function eligible for inlining - it is quite hot.
fn index(&self) -> u32 {
self.index
}