diff options
| author | gingerBill <bill@gingerbill.org> | 2022-09-14 17:57:12 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-09-14 17:57:12 +0100 |
| commit | a3c04db82831d8d56e4aa4be7c7de6f53286682c (patch) | |
| tree | 0fd8a7d89f69438d3fab1e55ba72f6106ed426f7 /src/llvm_backend_general.cpp | |
| parent | 3ea7af4c9ca716baf48bca029f585d2b9a934ac9 (diff) | |
Revert "Just get the value directly and store it in another global variable"
This reverts commit 190c3ab0cdc031e45d450e64715452fb2e576d1e.
Diffstat (limited to 'src/llvm_backend_general.cpp')
| -rw-r--r-- | src/llvm_backend_general.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp index 94429e410..1f8fccdcb 100644 --- a/src/llvm_backend_general.cpp +++ b/src/llvm_backend_general.cpp @@ -926,7 +926,11 @@ void lb_emit_store(lbProcedure *p, lbValue ptr, lbValue value) { return; } else if (LLVMIsConstant(value.value)) { lbAddr addr = lb_add_global_generated(p->module, value.type, value, nullptr); - LLVMValueRef global_data = lb_make_global_truly_private(addr); + LLVMValueRef global_data = addr.addr.value; + // make it truly private data + LLVMSetLinkage(global_data, LLVMPrivateLinkage); + LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr); + LLVMSetGlobalConstant(global_data, true); LLVMValueRef dst_ptr = ptr.value; LLVMValueRef src_ptr = global_data; @@ -2665,15 +2669,6 @@ lbValue lb_find_procedure_value_from_entity(lbModule *m, Entity *e) { return {}; } -LLVMValueRef lb_make_global_truly_private(lbAddr const &addr) { - LLVMValueRef global_data = addr.addr.value; - // make it truly private data - LLVMSetLinkage(global_data, LLVMPrivateLinkage); - LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr); - LLVMSetGlobalConstant(global_data, true); - return global_data; -} - lbAddr lb_add_global_generated(lbModule *m, Type *type, lbValue value, Entity **entity_) { GB_ASSERT(type != nullptr); type = default_type(type); |