aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/llvm_backend.cpp58
-rw-r--r--src/llvm_backend_general.cpp1
2 files changed, 29 insertions, 30 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index 7e9d5bd73..2b139681e 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -2137,13 +2137,10 @@ gb_internal void lb_create_global_procedures_and_types(lbGenerator *gen, Checker
String name = e->token.string;
Scope * scope = e->scope;
- if ((scope->flags & ScopeFlag_File) == 0) {
+ if ((scope->flags & (ScopeFlag_File)) == 0) {
continue;
}
- Scope *package_scope = scope->parent;
- GB_ASSERT(package_scope->flags & ScopeFlag_Pkg);
-
switch (e->kind) {
case Entity_Variable:
// NOTE(bill): Handled above as it requires a specific load order
@@ -2483,6 +2480,7 @@ gb_internal WORKER_TASK_PROC(lb_generate_missing_procedures_to_check_worker_proc
for (isize i = 0; i < m->missing_procedures_to_check.count; i++) {
lbProcedure *p = m->missing_procedures_to_check[i];
debugf("Generate missing procedure: %.*s module %p\n", LIT(p->name), m);
+ // gb_printf_err("Generate missing procedure: %.*s module %p\n", LIT(p->name), m);
lb_generate_procedure(m, p);
}
@@ -3531,6 +3529,8 @@ gb_internal bool lb_generate_code(lbGenerator *gen) {
return false;
}
+ thread_pool_wait();
+
llvm_error = nullptr;
defer (LLVMDisposeMessage(llvm_error));
@@ -3616,37 +3616,37 @@ gb_internal bool lb_generate_code(lbGenerator *gen) {
// return false;
// }
- if (true) {
- Array<lbModuleTiming> timings = {};
- array_init(&timings, heap_allocator(), 0, gen->module_timings.count);
- defer (array_free(&timings));
+ // if (false) {
+ // Array<lbModuleTiming> timings = {};
+ // array_init(&timings, heap_allocator(), 0, gen->module_timings.count);
+ // defer (array_free(&timings));
- for (lbModuleTiming mt = {}; mpsc_dequeue(&gen->module_timings, &mt); /**/) {
- array_add(&timings, mt);
- }
+ // for (lbModuleTiming mt = {}; mpsc_dequeue(&gen->module_timings, &mt); /**/) {
+ // array_add(&timings, mt);
+ // }
- array_sort(timings, [](void const *a, void const *b) -> int {
- lbModuleTiming const *x = cast(lbModuleTiming *)a;
- lbModuleTiming const *y = cast(lbModuleTiming *)b;
+ // array_sort(timings, [](void const *a, void const *b) -> int {
+ // lbModuleTiming const *x = cast(lbModuleTiming *)a;
+ // lbModuleTiming const *y = cast(lbModuleTiming *)b;
- i64 t_x = cast(i64)(x->end - x->start);
- i64 t_y = cast(i64)(y->end - y->start);
+ // i64 t_x = cast(i64)(x->end - x->start);
+ // i64 t_y = cast(i64)(y->end - y->start);
- if (t_x < t_y) {
- return +1;
- } else if (t_x > t_y) {
- return -1;
- }
- return 0;
- });
+ // if (t_x < t_y) {
+ // return +1;
+ // } else if (t_x > t_y) {
+ // return -1;
+ // }
+ // return 0;
+ // });
- for (lbModuleTiming const &mt : timings) {
- f64 t = cast(f64)(mt.end - mt.start) / 1.0e3;
- gb_printf_err("%s %.3f us - procedures %u\n", mt.m->module_name, t, mt.m->procedures.count);
- }
+ // for (lbModuleTiming const &mt : timings) {
+ // f64 t = cast(f64)(mt.end - mt.start) / 1.0e3;
+ // gb_printf_err("%s %.3f us - procedures %u\n", mt.m->module_name, t, mt.m->procedures.count);
+ // }
- return false;
- }
+ // return false;
+ // }
if (build_context.ignore_llvm_build) {
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp
index 76d8d2d5e..20059dd04 100644
--- a/src/llvm_backend_general.cpp
+++ b/src/llvm_backend_general.cpp
@@ -1512,7 +1512,6 @@ gb_internal void lb_clone_struct_type(LLVMTypeRef dst, LLVMTypeRef src) {
}
gb_internal String lb_get_entity_name(lbModule *m, Entity *e) {
- GB_ASSERT(m != nullptr);
GB_ASSERT(e != nullptr);
if (e->kind == Entity_TypeName && e->TypeName.ir_mangled_name.len != 0) {
return e->TypeName.ir_mangled_name;