Mark drop calls in landing pads cold instead of noinline

Now that deferred inlining has been disabled in LLVM,
this shouldn't cause catastrophic size blowup.
This commit is contained in:
Erik Desjardins 2021-12-29 15:28:31 -05:00
parent 7ae5508426
commit 2b662217e7
6 changed files with 42 additions and 9 deletions

View file

@ -1201,8 +1201,8 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
unsafe { llvm::LLVMBuildZExt(self.llbuilder, val, dest_ty, UNNAMED) }
}
fn do_not_inline(&mut self, llret: &'ll Value) {
llvm::Attribute::NoInline.apply_callsite(llvm::AttributePlace::Function, llret);
fn mark_callsite_cold(&mut self, llret: &'ll Value) {
llvm::Attribute::Cold.apply_callsite(llvm::AttributePlace::Function, llret);
}
}