Inline some functions that suddenly show up more in traces

This commit is contained in:
Oli Scherer 2021-03-31 15:38:11 +00:00
parent 74af01b989
commit d81f5ab100
3 changed files with 3 additions and 3 deletions

View file

@ -483,6 +483,7 @@ impl<'tcx> Instance<'tcx> {
if let Some(substs) = self.substs_for_mir_body() { v.subst(tcx, substs) } else { *v }
}
#[inline(always)]
pub fn subst_mir_and_normalize_erasing_regions<T>(
&self,
tcx: TyCtxt<'tcx>,

View file

@ -103,6 +103,7 @@ impl TypeFolder<'tcx> for NormalizeAfterErasingRegionsFolder<'tcx> {
self.tcx.normalize_generic_arg_after_erasing_regions(arg).expect_const()
}
#[inline]
fn fold_mir_const(&mut self, c: mir::ConstantKind<'tcx>) -> mir::ConstantKind<'tcx> {
let arg = self.param_env.and(c);
self.tcx.normalize_mir_const_after_erasing_regions(arg)

View file

@ -505,10 +505,8 @@ impl<'a, 'tcx> TypeFolder<'tcx> for SubstFolder<'a, 'tcx> {
}
}
#[inline]
fn fold_mir_const(&mut self, c: mir::ConstantKind<'tcx>) -> mir::ConstantKind<'tcx> {
if !c.needs_subst() {
return c;
}
c.super_fold_with(self)
}
}