aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-05-27 12:32:11 +0100
committergingerBill <bill@gingerbill.org>2020-05-27 12:32:11 +0100
commit6ac0fb80a6eab6ba28838e8e577dc8ae8cba06a7 (patch)
tree9bf9a7315b8344f3a44fb019680bb41bf5c8332f /src/llvm_backend.cpp
parent098699103da15894be771ce7c5f28812fd6de883 (diff)
Minor tokenizer performance improvements
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index 8095b06f1..f152c7596 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -2034,6 +2034,11 @@ lbProcedure *lb_create_procedure(lbModule *m, Entity *entity) {
LLVMSetLinkage(p->value, LLVMDLLExportLinkage);
LLVMSetDLLStorageClass(p->value, LLVMDLLExportStorageClass);
LLVMSetVisibility(p->value, LLVMDefaultVisibility);
+
+ if (build_context.metrics.os == TargetOs_js) {
+ LLVMAddTargetDependentFunctionAttr(p->value, "wasm-export-name", alloc_cstring(heap_allocator(), p->name));
+ LLVMAddTargetDependentFunctionAttr(p->value, "wasm-exported", nullptr);
+ }
}
// NOTE(bill): offset==0 is the return value
@@ -12173,7 +12178,9 @@ void lb_generate_code(lbGenerator *gen) {
TIME_SECTION("LLVM Object Generation");
- LLVMBool was_an_error = LLVMTargetMachineEmitToFile(target_machine, mod, cast(char *)filepath_obj.text, LLVMObjectFile, &llvm_error);
+ LLVMCodeGenFileType code_gen_file_type = LLVMObjectFile;
+
+ LLVMBool was_an_error = LLVMTargetMachineEmitToFile(target_machine, mod, cast(char *)filepath_obj.text, code_gen_file_type, &llvm_error);
if (was_an_error) {
gb_printf_err("LLVM Error: %s\n", llvm_error);
gb_exit(1);