Fix map looping

This commit is contained in:
gingerBill
2022-12-09 12:18:49 +00:00
parent 144e357fd2
commit 5c3624eb86
+9 -9
View File
@@ -1725,18 +1725,17 @@ void lb_generate_code(lbGenerator *gen) {
break; break;
} }
for (auto const entry : gen->modules) { for (auto const &entry : gen->modules) {
auto target_machine = LLVMCreateTargetMachine( LLVMTargetMachineRef target_machine = LLVMCreateTargetMachine(
target, target_triple, llvm_cpu, target, target_triple, llvm_cpu,
llvm_features, llvm_features,
code_gen_level, code_gen_level,
reloc_mode, reloc_mode,
code_mode); code_mode);
array_add(&target_machines, target_machine);
lbModule *m = entry.value; lbModule *m = entry.value;
m->target_machine = target_machine; m->target_machine = target_machine;
LLVMSetModuleDataLayout(m->mod, LLVMCreateTargetDataLayout(target_machine)); LLVMSetModuleDataLayout(m->mod, LLVMCreateTargetDataLayout(target_machine));
array_add(&target_machines, target_machine);
} }
for (auto const &entry : gen->modules) { for (auto const &entry : gen->modules) {
@@ -2134,7 +2133,8 @@ void lb_generate_code(lbGenerator *gen) {
TIME_SECTION("LLVM Procedure Generation"); TIME_SECTION("LLVM Procedure Generation");
for (auto const &entry : gen->modules) { for (auto const &entry : gen->modules) {
lbModule *m = entry.value; lbModule *m = entry.value;
for (lbProcedure *p : m->procedures_to_generate) { for_array(i, m->procedures_to_generate) {
lbProcedure *p = m->procedures_to_generate[i];
lb_generate_procedure(m, p); lb_generate_procedure(m, p);
} }
} }
@@ -2146,7 +2146,8 @@ void lb_generate_code(lbGenerator *gen) {
for (auto const &entry : gen->modules) { for (auto const &entry : gen->modules) {
lbModule *m = entry.value; lbModule *m = entry.value;
for (lbProcedure *p : m->missing_procedures_to_check) { for_array(i, m->missing_procedures_to_check) {
lbProcedure *p = m->missing_procedures_to_check[i];
debugf("Generate missing procedure: %.*s\n", LIT(p->name)); debugf("Generate missing procedure: %.*s\n", LIT(p->name));
lb_generate_procedure(m, p); lb_generate_procedure(m, p);
} }
@@ -2177,7 +2178,6 @@ void lb_generate_code(lbGenerator *gen) {
for (auto const &entry : gen->modules) { for (auto const &entry : gen->modules) {
lbModule *m = entry.value; lbModule *m = entry.value;
lb_run_remove_unused_function_pass(m); lb_run_remove_unused_function_pass(m);
lb_run_remove_unused_globals_pass(m); lb_run_remove_unused_globals_pass(m);
@@ -2222,7 +2222,6 @@ void lb_generate_code(lbGenerator *gen) {
for (auto const &entry : gen->modules) { for (auto const &entry : gen->modules) {
lbModule *m = entry.value; lbModule *m = entry.value;
if (lb_is_module_empty(m)) { if (lb_is_module_empty(m)) {
continue; continue;
} }
@@ -2246,7 +2245,8 @@ void lb_generate_code(lbGenerator *gen) {
for (auto const &entry : gen->modules) { for (auto const &entry : gen->modules) {
lbModule *m = entry.value; lbModule *m = entry.value;
for (Entity *e : m->info->required_foreign_imports_through_force) { for_array(i, m->info->required_foreign_imports_through_force) {
Entity *e = m->info->required_foreign_imports_through_force[i];
lb_add_foreign_library_path(m, e); lb_add_foreign_library_path(m, e);
} }