From dea437edfb124b8a4cf4f2e09330ef4282991cc9 Mon Sep 17 00:00:00 2001 From: Meghan Date: Sun, 24 Jul 2022 01:56:33 -0700 Subject: stage2: implement `noinline fn` --- src/codegen/llvm.zig | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/codegen/llvm.zig') diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index de132132b0..64485d48bd 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -699,6 +699,12 @@ pub const Object = struct { DeclGen.removeFnAttr(llvm_func, "cold"); } + if (func.is_noinline) { + dg.addFnAttr(llvm_func, "noinline"); + } else { + DeclGen.removeFnAttr(llvm_func, "noinline"); + } + // Remove all the basic blocks of a function in order to start over, generating // LLVM IR from an empty function body. while (llvm_func.getFirstBasicBlock()) |bb| { -- cgit v1.2.3