diff options
| author | Meghan <hello@nektro.net> | 2022-07-24 01:56:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-24 11:56:33 +0300 |
| commit | dea437edfb124b8a4cf4f2e09330ef4282991cc9 (patch) | |
| tree | cff1a5c5f9b89c4f8f94def8006f7d07f9757dbc /src/codegen | |
| parent | 903bed931dddc8b3f7ad1fa87e57eca13375dd32 (diff) | |
| download | zig-dea437edfb124b8a4cf4f2e09330ef4282991cc9.tar.gz zig-dea437edfb124b8a4cf4f2e09330ef4282991cc9.zip | |
stage2: implement `noinline fn`
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/llvm.zig | 6 |
1 files changed, 6 insertions, 0 deletions
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| { |
