From 2fec53053e0086318ae44c0e7616ce8dedb8d2c1 Mon Sep 17 00:00:00 2001 From: Erik Desjardins Date: Wed, 29 Dec 2021 15:28:31 -0500 Subject: [PATCH 1/2] 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. --- src/builder.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builder.rs b/src/builder.rs index fff2aa6df7c..997213d43e8 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -1404,7 +1404,7 @@ impl<'a, 'gcc, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'gcc, 'tcx> { self.cx } - fn do_not_inline(&mut self, _llret: RValue<'gcc>) { + fn mark_callsite_cold(&mut self, _llret: RValue<'gcc>) { unimplemented!(); } From f3e1f33e3c725da999fc9b9b45ed5008a87a0149 Mon Sep 17 00:00:00 2001 From: Erik Desjardins Date: Wed, 29 Dec 2021 23:19:55 -0500 Subject: [PATCH 2/2] keep noinline for system llvm < 14 --- src/builder.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builder.rs b/src/builder.rs index 997213d43e8..cf963531efe 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -1404,7 +1404,7 @@ impl<'a, 'gcc, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'gcc, 'tcx> { self.cx } - fn mark_callsite_cold(&mut self, _llret: RValue<'gcc>) { + fn apply_attrs_to_cleanup_callsite(&mut self, _llret: RValue<'gcc>) { unimplemented!(); }