aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2025-02-25 14:55:33 +0000
committergingerBill <bill@gingerbill.org>2025-02-25 14:55:33 +0000
commitfd6d7d412dbf666bbd10eddc98b04e1af3ef9f81 (patch)
tree82ef482907ef1cdf53f50e6243cf33717bd72740 /src/llvm_backend_general.cpp
parent5aafbc7f3000d1a24e3097ae37ac3900ffd9d187 (diff)
Use more predictable object name
Diffstat (limited to 'src/llvm_backend_general.cpp')
-rw-r--r--src/llvm_backend_general.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp
index b994ec330..2d19097c7 100644
--- a/src/llvm_backend_general.cpp
+++ b/src/llvm_backend_general.cpp
@@ -221,7 +221,7 @@ gb_internal void lb_loop_end(lbProcedure *p, lbLoopData const &data) {
gb_internal void lb_make_global_private_const(LLVMValueRef global_data) {
LLVMSetLinkage(global_data, LLVMLinkerPrivateLinkage);
- LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr);
+ // LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr);
LLVMSetGlobalConstant(global_data, true);
}
gb_internal void lb_make_global_private_const(lbAddr const &addr) {
@@ -2786,6 +2786,7 @@ gb_internal lbValue lb_generate_anonymous_proc_lit(lbModule *m, String const &pr
gb_internal lbAddr lb_add_global_generated_with_name(lbModule *m, Type *type, lbValue value, String name, Entity **entity_) {
+ GB_ASSERT(name.len != 0);
GB_ASSERT(type != nullptr);
type = default_type(type);
@@ -2817,12 +2818,14 @@ gb_internal lbAddr lb_add_global_generated_from_procedure(lbProcedure *p, Type *
GB_ASSERT(type != nullptr);
type = default_type(type);
- u32 index = ++p->global_generated_index;
+ static std::atomic<u32> global_index;
+ u32 index = ++global_index;
+ // u32 index = ++p->global_generated_index;
gbString s = gb_string_make(temporary_allocator(), "ggv$");
- s = gb_string_appendc(s, p->module->module_name);
- s = gb_string_appendc(s, "$");
- s = gb_string_append_length(s, p->name.text, p->name.len);
+ // s = gb_string_appendc(s, p->module->module_name);
+ // s = gb_string_appendc(s, "$");
+ // s = gb_string_append_length(s, p->name.text, p->name.len);
s = gb_string_append_fmt(s, "$%u", index);
String name = make_string(cast(u8 const *)s, gb_string_length(s));
@@ -2938,7 +2941,7 @@ gb_internal lbValue lb_generate_global_array(lbModule *m, Type *elem_type, i64 c
g.type = alloc_type_pointer(t);
LLVMSetInitializer(g.value, LLVMConstNull(lb_type(m, t)));
LLVMSetLinkage(g.value, LLVMPrivateLinkage);
- LLVMSetUnnamedAddress(g.value, LLVMGlobalUnnamedAddr);
+ // LLVMSetUnnamedAddress(g.value, LLVMGlobalUnnamedAddr);
string_map_set(&m->members, s, g);
return g;
}