diff options
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)); |