diff options
| author | gingerBill <bill@gingerbill.org> | 2023-09-22 12:11:39 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-09-22 12:11:39 +0100 |
| commit | 5e99289d7afd34cf785b15f727ed2f2d61aa6ffc (patch) | |
| tree | 774fb3af200d64e87f9fbe7b5f0c3fd5cfc62df8 | |
| parent | fa6be4ec58fb1f09ab9eec935f82d2f66acfc676 (diff) | |
Minor clean up
| -rw-r--r-- | src/llvm_backend.cpp | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 6a32195c8..439140901 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -1358,20 +1358,13 @@ gb_internal WORKER_TASK_PROC(lb_llvm_function_pass_per_module) { { GB_ASSERT(m->function_pass_managers[lbFunctionPassManager_default] == nullptr); - m->function_pass_managers[lbFunctionPassManager_default] = LLVMCreateFunctionPassManagerForModule(m->mod); - m->function_pass_managers[lbFunctionPassManager_default_without_memcpy] = LLVMCreateFunctionPassManagerForModule(m->mod); - m->function_pass_managers[lbFunctionPassManager_none] = LLVMCreateFunctionPassManagerForModule(m->mod); - m->function_pass_managers[lbFunctionPassManager_minimal] = LLVMCreateFunctionPassManagerForModule(m->mod); - m->function_pass_managers[lbFunctionPassManager_size] = LLVMCreateFunctionPassManagerForModule(m->mod); - m->function_pass_managers[lbFunctionPassManager_speed] = LLVMCreateFunctionPassManagerForModule(m->mod); - m->function_pass_managers[lbFunctionPassManager_aggressive] = LLVMCreateFunctionPassManagerForModule(m->mod); - - LLVMInitializeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_default]); - LLVMInitializeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_default_without_memcpy]); - LLVMInitializeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_none]); - LLVMInitializeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_minimal]); - LLVMInitializeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_size]); - LLVMInitializeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_speed]); + for (i32 i = 0; i < lbFunctionPassManager_COUNT; i++) { + m->function_pass_managers[i] = LLVMCreateFunctionPassManagerForModule(m->mod); + } + + for (i32 i = 0; i < lbFunctionPassManager_COUNT; i++) { + LLVMInitializeFunctionPassManager(m->function_pass_managers[i]); + } lb_populate_function_pass_manager(m, m->function_pass_managers[lbFunctionPassManager_default], false, build_context.optimization_level); lb_populate_function_pass_manager(m, m->function_pass_managers[lbFunctionPassManager_default_without_memcpy], true, build_context.optimization_level); @@ -1381,13 +1374,9 @@ gb_internal WORKER_TASK_PROC(lb_llvm_function_pass_per_module) { lb_populate_function_pass_manager_specific(m, m->function_pass_managers[lbFunctionPassManager_speed], 2); lb_populate_function_pass_manager_specific(m, m->function_pass_managers[lbFunctionPassManager_aggressive], 3); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_default]); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_default_without_memcpy]); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_none]); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_minimal]); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_size]); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_speed]); - LLVMFinalizeFunctionPassManager(m->function_pass_managers[lbFunctionPassManager_aggressive]); + for (i32 i = 0; i < lbFunctionPassManager_COUNT; i++) { + LLVMFinalizeFunctionPassManager(m->function_pass_managers[i]); + } } if (m == &m->gen->default_module) { @@ -2536,16 +2525,13 @@ gb_internal bool lb_generate_code(lbGenerator *gen) { } } - TIME_SECTION("LLVM Function Pass"); lb_llvm_function_passes(gen, do_threading && !build_context.ODIN_DEBUG); TIME_SECTION("LLVM Module Pass"); lb_llvm_module_passes(gen, do_threading); - TIME_SECTION("LLVM Module Verification"); - if (!lb_llvm_module_verification(gen, do_threading)) { return false; } |