aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-02-23 11:23:27 +0000
committergingerBill <bill@gingerbill.org>2022-02-23 11:23:27 +0000
commit493bc653b5762514dac8c8941d6564ccf5bb8528 (patch)
treedf03d4119aa12d4edc3ddd92853d1084f259ac9e /src/llvm_backend_proc.cpp
parent3d209798c9aff4a0ebd135536234022620c9e650 (diff)
Add `@(no_red_zone)` for procedures
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index 7ead77c2c..209f2f67b 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -135,6 +135,10 @@ lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool ignore_body)
lb_add_attribute_to_proc(m, p->value, "naked");
}
+ if (entity->Procedure.no_red_zone) {
+ lb_add_attribute_to_proc(m, p->value, "noredzone");
+ }
+
switch (p->inlining) {
case ProcInlining_inline:
lb_add_attribute_to_proc(m, p->value, "alwaysinline");