From 6ded538546cca4f1e50a011a64932f7f3c784cc2 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 4 Nov 2021 12:40:50 +0000 Subject: `@(linkage=)` for procedures and variables; `@(require)` for procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass` --- src/llvm_backend.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/llvm_backend.cpp') diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index c0a7b60df..928efbb54 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -1498,6 +1498,8 @@ void lb_generate_code(lbGenerator *gen) { LLVMSetLinkage(g.value, LLVMInternalLinkage); } } + lb_set_linkage_from_entity_flags(m, g.value, e->flags); + if (e->Variable.link_section.len > 0) { LLVMSetSection(g.value, alloc_cstring(permanent_allocator(), e->Variable.link_section)); } @@ -1675,7 +1677,7 @@ void lb_generate_code(lbGenerator *gen) { for_array(i, gen->modules.entries) { lbModule *m = gen->modules.entries[i].value; - lb_run_remove_unused_function_pass(m->mod); + lb_run_remove_unused_function_pass(m); auto wd = gb_alloc_item(permanent_allocator(), lbLLVMModulePassWorkerData); wd->m = m; -- cgit v1.2.3