From 24fce21d9055ac4cd2124c0fe5396f430e99f24f Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 28 Apr 2021 10:49:30 +0100 Subject: Add "naked" calling convention (removes prologue and epilogue) --- src/llvm_backend.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/llvm_backend.cpp') 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"); -- cgit v1.2.3