diff options
| author | gingerBill <bill@gingerbill.org> | 2021-03-29 16:40:39 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-03-29 16:40:39 +0100 |
| commit | faa0240900b0e254f44fa54e604beacbf4890c0d (patch) | |
| tree | 6a602dd793d2aa0b14092fc7eadfdfde2f525782 /src/llvm_backend.cpp | |
| parent | 66941aed0ae54da23e7cb92bd656dffc295f5175 (diff) | |
Change how `lb_populate_module_pass_manager` handles the LLVMPassManagerBuilder calls
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index a40b1c133..14a49b7da 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -13263,13 +13263,20 @@ void lb_generate_code(lbGenerator *gen) { LLVMCodeGenOptLevel code_gen_level = LLVMCodeGenLevelNone; switch (build_context.optimization_level) { - case 0: code_gen_level = LLVMCodeGenLevelNone; break; - case 1: code_gen_level = LLVMCodeGenLevelLess; break; - case 2: code_gen_level = LLVMCodeGenLevelDefault; break; - case 3: code_gen_level = LLVMCodeGenLevelAggressive; break; - } - - LLVMTargetMachineRef target_machine = LLVMCreateTargetMachine(target, target_triple, llvm_cpu, llvm_features, code_gen_level, LLVMRelocDefault, code_mode); + case 0: code_gen_level = LLVMCodeGenLevelNone; break; + case 1: code_gen_level = LLVMCodeGenLevelLess; break; + case 2: code_gen_level = LLVMCodeGenLevelDefault; break; + case 3: code_gen_level = LLVMCodeGenLevelDefault; break; // NOTE(bill): force -opt:3 to be the same as -opt:2 + // case 3: code_gen_level = LLVMCodeGenLevelAggressive; break; + } + + // NOTE(bill): Target Machine Creation + LLVMTargetMachineRef target_machine = LLVMCreateTargetMachine( + target, target_triple, llvm_cpu, + llvm_features, + code_gen_level, + LLVMRelocDefault, + code_mode); defer (LLVMDisposeTargetMachine(target_machine)); |