More tests

This commit is contained in:
gingerBill
2025-09-14 15:31:16 +01:00
parent a2d9c79508
commit 1ffeb23d5c
2 changed files with 29 additions and 30 deletions

View File

@@ -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) {

View File

@@ -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;