diff options
| author | gingerBill <bill@gingerbill.org> | 2021-04-28 10:49:30 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-04-28 10:49:30 +0100 |
| commit | 24fce21d9055ac4cd2124c0fe5396f430e99f24f (patch) | |
| tree | 86e9b95d03038af2a63d10d760afa34940be2eca /src/llvm_backend.cpp | |
| parent | afe185ee227b8d4540e4dc11b382eae0671575d2 (diff) | |
Add "naked" calling convention (removes prologue and epilogue)
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 74d5bbe01..f81077b47 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2588,6 +2588,10 @@ lbProcedure *lb_create_procedure(lbModule *m, Entity *entity) { lb_add_attribute_to_proc(m, p->value, "noreturn"); } + if (pt->Proc.calling_convention == ProcCC_Naked) { + lb_add_attribute_to_proc(m, p->value, "naked"); + } + switch (p->inlining) { case ProcInlining_inline: lb_add_attribute_to_proc(m, p->value, "alwaysinline"); |